我的客户有一个请求,他想通过 Google 帐户登录 ASP.net Web 应用程序。因为我从来没有做过这样的事情,所以我有些担心。
困扰我的是他想为特定帐户添加角色(管理员、用户),这让我感到困惑,因为我不确定如何将 Google 帐户数据与我的数据库连接起来。我假设我将无法获得可以存储到我自己的数据库中的密码或用户名。
从哪儿开始?
我的客户有一个请求,他想通过 Google 帐户登录 ASP.net Web 应用程序。因为我从来没有做过这样的事情,所以我有些担心。
困扰我的是他想为特定帐户添加角色(管理员、用户),这让我感到困惑,因为我不确定如何将 Google 帐户数据与我的数据库连接起来。我假设我将无法获得可以存储到我自己的数据库中的密码或用户名。
从哪儿开始?
使用 OpenID。这是在DotNetOpenAuth库中的 ASP.NET 中实现的。它包括用于 Google 登录的示例,而且非常简单。
这些角色应该起作用。在构建用户表时,只需将用户添加到适当的角色。
看看这个:
http://www.asp.net/vnext/overview/aspnet/oauth-in-the-default-aspnet-45-templates
Scott Hanselman 简要介绍了 .NET4.5 中的 OpenID 功能。这对您来说可能是一个很好的起点。
在 MSDN 上:http: //blogs.msdn.com/b/webdev/archive/2012/08/15/oauth-openid-support-for-webforms-mvc-and-webpages.aspx
我建议你看看这个 codeplex miniproject:http ://loginwithgoogle.codeplex.com/ 。您可能会发现它很有帮助。
问候