【问题标题】:MVC 5 Role based Permissions (Authorization)MVC 5 基于角色的权限(授权)
【发布时间】:2019-12-08 01:11:45
【问题描述】:

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

请建议如何使用授权属性或任何其他可能的方式来实现这一点。

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

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

【问题讨论】:

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


    【解决方案1】:

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

    尝试 [授权(Roles="admin")] 它使用 Microsoft.AspNetCore.Authorization;

    还有一个基于策略的授权。 [授权(Policy = "Seniors")]

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

    诀窍是为用户分配一个角色,然后在操作方法或页面上使用“授权”,甚至在视图 HTML 中通过测试用户 IsInRole 是否喜欢: @if(User.IsInRole"admin"){ 在此处添加 HTML }

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

    【讨论】:

      猜你喜欢
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 2022-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      相关资源
      最近更新 更多