我在 .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/