0

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

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

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

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

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

4

1 回答 1

1

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

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

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

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

configuration.For<SomeController>()
    .AddPolicy<CustomPolicy1>()
    .AddPolicy<CustomPolicy2>();
于 2013-03-21T11:55:48.457 回答