获取当前登录用户的电子邮件地址

时间:2017-02-24 11:58:42

标签: asp.net-mvc-5 windows-authentication

我正在使用Membership.GetUser(User.Identity.Name).Email方法来尝试获取当前用户的电子邮件地址,但是它的超时,我只有一行,我在其上声明并分配返回值变量的方法 这是我的一行代码string userEmail = Membership.GetUser(User.Identity.Name).Email;

我在使用或不使用username参数的情况下尝试了此代码。我还尝试先检查用户是否经过身份验证,但一旦到达此行就超时了,我也尝试过完全使用其他方法。

注意:Windows身份验证用于Web应用程序

1 个答案:

答案 0 :(得分:1)

Membership来自ASP.NET成员资格,而不是身份。你需要使用:

var user = UserManager.FindById(User.Identity.GetUserId());

然后,您可以访问该用户对象的Email属性。

<强>更新

我被你使用[asp.net-identity]标签抛出了。但是,所有这一点都适用。 Membership来自与Windows Auth完全不同的身份验证系统。使用Windows Auth时,您的用户信息来自AD,因此如果您需要其他信息,只需添加UserPrincipal扩展名即可。请参阅my answer in this related question