【问题标题】:Extending role based security to allow roles for a specific entity扩展基于角色的安全性以允许特定实体的角色
【发布时间】:2013-03-20 11:25:07
【问题描述】:

我在另一个 MVC 应用程序中使用过 FluentSecurity,它非常棒,提供了一个巧妙的实现。

我现在需要提供应用程序范围的角色,另外还提供对单个实体的额外权限控制。

我的应用程序管理特定的位置,用户可能有权在一个或多个位置执行操作,每个位置都有一个唯一的 ID。我需要检查用户是否具有位置 ID 的特定角色(有效地为角色添加另一个维度)。我已经绘制出了我的架构以及我的存储库/服务层。

我想知道之前是否有人解决过此类问题,是否值得我尝试使用 FluentSecurity 解决,或者我是否应该验证用户是否具有每个 GET/POST 请求(控制器或服务层)的位置所需的角色)。

我将在 FluentSecurity 中实现这一点,我将不得不推出自己的策略并从 RequestContext.RouteData 中捕获位置 ID。

【问题讨论】:

    标签: asp.net-mvc fluent-security


    【解决方案1】:

    我还没有完全完成您需要做的事情,但是在 FluentSecurity 中创建一个处理您的场景的自定义策略应该一点也不难。如果你觉得是,请告诉我,我将不得不解决这个问题。

    您可以在此处找到有关如何创建自定义策略的更多信息:

    https://github.com/kristofferahl/FluentSecurity/wiki/Custom-policies

    在我看来,您可能想将其拆分为两个自定义策略。然后,您可以像这样应用您的自定义策略:

    configuration.For<SomeController>()
        .AddPolicy<CustomPolicy1>()
        .AddPolicy<CustomPolicy2>();
    

    【讨论】:

      猜你喜欢
      • 2013-06-17
      • 2013-03-21
      • 2011-05-12
      • 1970-01-01
      • 2017-10-03
      • 2012-03-18
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多