【发布时间】:2017-11-27 22:53:30
【问题描述】:
我有一个 ASP.NET MVC 项目,客户需要不同角色的单独访问权限。他想拥有很多角色,但其中一些角色的访问权限非常相似(除了一些事情)。当然,我可以像下面这样:
if (User.IsInRole("Superadmin") || User.IsInRole("CompanyAdmin") || ...)
{
// bla-bla-bla
}
else if (....)
{
}
但是,在我看来,它并没有应有的灵活。任何小的权利变化都需要脚本来审查整个项目并进行更改。
我认为采用“混合”方法,即像现在一样为用户设置角色,并设置声明。因此事后只检查声明,而不是角色列表。如果需要更改任何角色的访问权限,则只需在登录后在一个地方添加/删除声明(甚至不需要将其保存到数据库)。
你怎么看?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-5 roles claims-based-identity claims