2013-03-20 244 views
0

我在另一個MVC應用程序中使用了FluentSecurity,它的功能很強大,提供了一個靈活的實現。擴展基於角色的安全性以允許特定實體的角色

我現在有要求提供應用程序範圍的角色,此外還提供了對個別實體的額外權限控制。

我的應用程序管理特定位置,用戶可能有權在一個或多個位置執行操作,每個位置都有一個唯一的ID。我需要檢查用戶是否具有特定的位置ID角色(有效地向角色添加另一個維度)。我有我的架構映射出來,以及我的回購/服務層。

我想知道如果有人已經解決了這種類型的問題,是否值得我試圖用FluentSecurity解決,或者如果我應該驗證用戶具有每個GET/POST請求(控制器或服務層)。

我想在FluentSecurity中實現這一點,我將不得不推出我自己的策略並從RequestContext.RouteData中捕獲位置ID。

回答

1

我還沒有完成你需要做的事情,但是在FluentSecurity中創建一個處理你的場景的自定義策略應該不難。如果你覺得它,請讓我知道,我將不得不解決這個問題。

你可以找到如何在這裏創建自定義策略的詳細信息:

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

這聽起來像你對我可能想要將它分成兩個自定義策略。然後,您應用您的自定義政策,如下所示:

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