asp.net - Net Core自定义用户属性

标签 asp.net model-view-controller asp.net-core

我在 .NET Core 项目中使用默认授权。我想检查用户是否是管理员,因此在 ApplicationUser.cs 模型中我添加了以下内容:

 public class ApplicationUser : IdentityUser
{

    public bool admin { get; set; }
}

我将这些更改迁移到 SQL 数据库中,并且可以在 AspNetUsers 表内看到“admin”属性。如何检查当前登录用户的“admin”属性?

最佳答案

您可以通过 UserManager<T> 访问当前用户实例对象,它可以作为构造函数参数注入(inject)到 Controller 中。方法GetUserAsync需要 ClaimsPrincipal ,在本例中是 HttpContext 的用户.

private readonly UserManager<ApplicationUser> _userManager;
public HomeController(UserManager<ApplicationUser> userManager) {
    _userManager = userManager;

    var user = _userManager.GetUserAsync(HttpContext.User);
}

关于asp.net - Net Core自定义用户属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41572447/

相关文章:

c# - 如何在代码隐藏中访问扩展 Panel 的自定义控件的公共(public)属性?

asp.net - 我的 ASP :menu control is hidden when it contains no items - how can I show it?

asp.net-mvc-4 - 绘制 MVC UML 图的正确方法

asp.net-core - project.json 中的“预构建”脚本不运行

asp.net-core - 使用 Windows 身份验证的 Intranet 应用程序是否需要 ASP.NET Core Identity

asp.net - Windows 2008 64 位上 ASP.NET 应用程序的最大内存大小限制

java - Play 框架 Controller 方法中抛出异常?

model-view-controller - ASP.NET MVC 模式 - 如何在 Controller 中使用两个单独的存储库(使用 DI)

postgresql - .NETCore PostgreSQL "A command is already in progress"

asp.net - 在asp.net core中使用soap web服务