我正在使用ASP.NET 5 beta 8和Identity Server 3以及AspNet Identity用户服务实现。默认情况下,AspNet Identity提供了一个名为AspNetRoleClaims的表,它看起来很适合我的情况。我的系统中有不同的角色,每个角色都有一些权限,我想将其作为声明来实现。因此,每个角色都会有一系列声明。
我没有找到在互联网上使用AspNetRoleClaims表的任何示例,所以也许最好只创建自己的表和实现?
处理角色权限的最佳做法是什么?
提前致谢! 塞尔吉。
答案 0 :(得分:2)
塞尔吉,
我正在寻找类似的东西,看起来所有的角色信息,包括RoleClaims都在角色管理器中使用方法GetClaimsAsync,AddClaimAsync,RemoveClaimAsync处理你可以在这里查看ASP身份代码: https://github.com/aspnet/Identity/blob/dev/src/Microsoft.AspNet.Identity/RoleManager.cs
在角色管理器中,我可以管理角色。示例:
创建角色
await RoleManager.CreateAsync(new IdentityRole { Name = "Test" });
创建角色声明
var roleResult = await RoleManager.AddClaimAsync(role, new Claim("Dashboard", "Read"));
然后检查角色或声明,现在使用策略和要求。这篇文章解释得非常好。
http://leastprivilege.com/2015/10/12/the-state-of-security-in-asp-net-5-and-mvc-6-authorization/
希望有所帮助。