首页 > 后端开发 > C++ > 如何在 ASP.NET MVC 5 中检索当前登录的 ApplicationUser?

如何在 ASP.NET MVC 5 中检索当前登录的 ApplicationUser?

Susan Sarandon
发布: 2024-12-27 21:23:14
原创
278 人浏览过

How to Retrieve the Currently Logged-in ApplicationUser in ASP.NET MVC 5?

ASP.NET MVC 5:检索当前 ApplicationUser

在 ASP.NET MVC 5 的 Identity 框架中访问当前登录的 ApplicationUser 需要一个具体的方法。与旧的Membership机制不同,Identity提供了与用户数据交互的一致接口。

检索ApplicationUser对象

获取当前ApplicationUser的完整对象,不要直接查询数据库。相反,请使用提供的 API:

var user = UserManager.FindById(User.Identity.GetUserId());
登录后复制

对于异步操作,请使用:

var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
登录后复制

确保包含以下 using 语句:

using Microsoft.AspNet.Identity;
登录后复制

访问用户 ID

在控制器之外,用户 ID 可以检索自:

System.Web.HttpContext.Current.User.Identity.GetUserId();
登录后复制

场景:访问 ApplicationDbContext 和 UserManager

如果您不在 Account 控制器中,请将这些属性和构造函数代码添加到您的控制器中:

protected ApplicationDbContext ApplicationDbContext { get; set; }
protected UserManager<ApplicationUser> UserManager { get; set; }

public YourController()
{
    this.ApplicationDbContext = new ApplicationDbContext();
    this.UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(this.ApplicationDbContext));
}
登录后复制

Azure 数据库注意事项

将 Identity Framework 与远程 Azure 数据库连接结合使用时,您可能会遇到“错误:19 - 物理连接不可用”消息。要解决此问题,请在项目中实现自定义 SqlAzureExecutionStrategy。

以上是如何在 ASP.NET MVC 5 中检索当前登录的 ApplicationUser?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板