使用OpenId登录时,Membership.GetUser()返回null

时间:2012-12-28 17:14:08

标签: asp.net-mvc asp.net-mvc-4 asp.net-membership

我正在使用一个小型ASP.net MVC4网络应用程序,并使用外部登录选项,允许我的用户使用他们的Google帐户登录。

为了将他们的个人资料与他们的数据联系起来,我需要一个唯一的标识符,并且使用用户名看起来不是一个安全的选择。

我一直在寻找几个地方,获得用户ID的最佳方式是Membership.GetUser()。这适用于本地创建的用户,但不适用于外部用户,返回null。

我如何存档?有没有人找到解决这个问题的方法?

有关OpenId和Oauth的信息在这里:http://blogs.msdn.com/b/webdev/archive/2012/08/15/oauth-openid-support-for-webforms-mvc-and-webpages.aspx

1 个答案:

答案 0 :(得分:1)

如果您使用的是SimpleMembership,则可以使用WebSecurity类的.CurrentUserId属性。这应适用于本地帐户和OAuth帐户。