MVC 5基于角色的权限(授权)

时间:2019-07-30 15:23:39

标签: model-view-controller asp.net-mvc-5 permissions roles

我想在mvc 5中实现基于角色的授权,我正在使用asp.net Identity 2.0进行用户身份验证。

请建议如何通过使用authorize属性或任何其他可能的方法来实现此目的。

我还希望在登录后存储用户权限,并且不想在授权控制器操作时一次又一次从数据库中获取。 (不想使用会话)。

enter image description here

[![Role Permissions stored in DB][1]][1]

**Role Permissions stored in DB**

1 个答案:

答案 0 :(得分:0)

我可能不太了解您的问题的深度,但是我发现您的Authorize语句有点不正确。

尝试[Authorize(Roles =“ admin”)] 它使用Microsoft.AspNetCore.Authorization;

还有基于策略的授权。 [Authorize(Policy =“ Seniors”)]

我还在这里找到了一个您可能感兴趣的答案,它涉及自定义角色权限:create custom authorize attribute

技巧是为用户分配一个角色,然后在操作方法或页面上甚至在视图HTML中通过测试用户IsInRole是否使用'Authorize',例如: @if(User.IsInRole“ admin”){在此处添加HTML}

如果您确实使用了'Roles',请记住,您可以向'Authorize'标签添加多个角色,例如[Authorize(Roles =“ admin,staff,user”)]等。

相关问题