2014-04-25 21 views
0

我已經發現了大量的在線示例,解釋瞭如何使用RoleManager等在MVC 5中創建角色,但是我找不到答案,是否可以動態應用在用戶級別創建的角色(通​​過UI)到部分應用程序?我可以在MVC 5中應用用戶創建的角色嗎?

我不明白創建新角色的目的只是爲了將它們存儲在數據庫中而沒有其他功能?

任何意見表示讚賞。

這裏是我的角色創建代碼示例:

public bool CreateRole(string name) 
    { 
     var rm = new RoleManager<IdentityRole>(
      new RoleStore<IdentityRole>(new ApplicationDbContext())); 
     var idResult = rm.Create(new IdentityRole(name)); 
     return idResult.Succeeded; 
    } 
+0

當你說動態*適用於應用程序*的部分,你是什麼意思動態的用戶級別(通過UI)創建的角色。本質上不是這種* CreateRole *方法。你的代碼有什麼問題嗎? –

+0

@PalakBhansali大多數例子顯示這樣的認證: [Authorize(Roles =「Admin」)] 這是用戶不可擴展的 –

+0

你想要擴展什麼?管理員角色或任何有關角色。 –

回答

0

您正在尋找使用不僅僅是一個角色屬性更適用細粒度的授權?例如:

  • 用戶和目標文檔/資源之間的關係?
  • 時間?

在這種情況下,您需要從RBAC移動到ABAC(基於屬性的訪問控制)。

NIST對話題有很大頁:csrc.nist.gov/projects/abac/

相關問題