0

我正在編寫一個ASP.NET Core 1.1 Web應用程序。現在我試圖設置我的數據庫,以便它可以使用,但我跺腳似乎基本的東西...我是否應該將角色或角色類型的角色聲明爲Identity數據庫?

我很熟悉角色,有點與索賠。我知道我可以創建ClaimTypes.Role類型的Claim。但是當我打算給用戶,角色等種子我的身份數據庫時,我不清楚這些項目:

  • 我應該只使用RoleManager創建標準角色嗎?
  • 我應該創建ClaimTypes.Role索賠嗎?
  • 我應該爲系統工作嗎?

例如,我想要角色Admin,Owner,Employee和Plain。

Admin 
    identity:full 
Owner 
    identity:medium 
    billing:full 
Employee 
    identity:low 
    billing:view 
Plain 
    identity:low 

順便說一句,角色我想創建(每個具有一個或多個權限索賠)應該是有效的授權使用(與授權控制器屬性)。

+0

這是非常主觀的問題 - 一切都取決於你的需求。 – trailmax

回答

0

在我看來 - 如果你開始新項目只使用索賠。

也許使用RoleManager更容易理解和使用角色,但聲明更通用,更靈活且更強大。

索賠有點難以啓動,但它們非常易於使用,特別是在基於自定義策略的授權或授權處理程序中(例如在基於資源的授權中)。


請閱讀更多:


而小例子浩w ^使用[版權聲明創建自定義政策:

Startup.cs

services.AddAuthorization(options => 
{ 
    options.AddPolicy("Employee", p => 
    { 
     p.RequireAuthenticatedUser(); 
     p.RequireClaim(ClaimTypes.Role, "Employee"); 
     p.Build(); 
    }); 
}); 
+1

Climes?你的意思是索賠? –

+0

呵呵:)更正,謝謝@ R.Richards。 –

相關問題