我有一个使用 Windows 身份验证的 ASP.NET Core(基于 .NET Framework)。重点是,我需要为该用户添加角色声明,并且该角色存储在远程数据库中。
我已经阅读了很多关于 OWIN/Cookie/UserManager/UserStore/Identity 的内容,以至于我迷路了。
问题:如何以最简单的方式为整个应用程序添加当前登录 (windows) 用户的角色声明?
我需要的是轻松使用 [Authorize(Role= "MyAddedRole")]
或 bool res = User.IsInRole("MyAddedRole")
谢谢
最佳答案
除了答案之外,我刚刚找到了在 asp .net core 中完全预定义的答案。当您添加声明时:
var claims = new List<Claim>
{
new Claim(ClaimTypes.Name, UserName),
new Claim(ClaimTypes.Role, "User"),
new Claim(ClaimTypes.Role, "Admin"),
new Claim(ClaimTypes.Role, Watever)
};
之后你就可以像说的那样使用它了:
[Authorize(Roles = "Watever")]
或
User.IsInRole("Watever")
关于c# - ASP.NET Core - 向用户添加角色声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45881157/