我刚开始使用新的2.0版本的身份框架.在1.0中,我可以使用manager.FindByIdAsync(User.Identity.GetUserId())获得用户对象.GetUserId()方法似乎不存在于2.0中.

现在我只知道使用manager.FindByEmailAsync(User.Identity.Name),它引用了users表中的username字段.在我的应用程序中,这与邮箱字段设置相同.

我可以看到,当有人需要更新他们的邮箱时,这会导致问题.在Identity 2.0框架中,有没有办法根据不变的值(such as the id field)获取当前登录的用户对象?

推荐答案

GetUserId()IIdentity上的扩展方法,它在Microsoft.AspNet.Identity.IdentityExtensions中.确保您已使用using Microsoft.AspNet.Identity;添加了命名空间.

Asp.net相关问答推荐

JWT 和 Google 在 Razor 页面中进行身份验证和授权

Asp.Net Core 创建一个控制器来使用 SendGrid 发送邮箱

如何将 JQuery 与母版页一起使用?

下载功能在 asp.net 的更新面板中不起作用

使用 jQuery.ajax() 时如何处理错误?

为什么我不能在 ASP.net MVC 中使用服务器控件?

Gridview ItemTemplate 中多个判断字段的最佳技术?

从 C# AsyncCTP 使用 ExecuteReaderAsync 的任何缺点

在 Asp.net mvc5 中使用用户名而不是邮箱作为身份

Razor 主机工厂错误

页面在谷歌浏览器中加载两次

对 ASP.NET 2.0 网页进行单元测试的最佳方法是什么?

如何使用restsharp下载文件

MSBuild DeployOnBuild=true 不发布

Azure 网站 301 重定向 - 我应该把它放在哪里?

您可以从 web.config 文件中的其他位置提取 log4net AdoNetAppender 的 connectionString 吗?

哪个事件先调用?母版页 Page_Load 或内容页 Page_Load

MVC4 - 当优化设置为 true 时Bundle 不起作用

获取 POST 变量

使用 jQuery 从 asp:RadioButtonList 读取选定的值