我選擇'個人用戶帳戶'時使用最新和最大的身份3.x來與股票與MVC6核心1.0。ASP.NET身份和創建角色功能
我的用戶身份驗證的要求如下:
Users -> AspNetUsers
Roles -> AspNetRoles
UserRoles -> AspNetUserRoles
RoleFunctions -> I don't see a table for this in the Identity db structure
RoleFunctions是任何類型的系統功能,如DeleteCustomers,AccessToCustomerPage等
我要承擔ASP.NET身份不支持基於角色的身份驗證的額外步驟,因此我將不得不自己創建表和函數。這是真的嗎?還是僅僅是爲了我,我只是沒有看到它?
我想你指的是** **的政策。我猜你會有一個已知數量的角色函數,它們將在你的代碼中被知道(除非你的目標是一些動態)?您可以考慮對它們進行硬編碼並創建策略,例如「爲了刪除客戶,用戶必須擁有這個,這個和/或這個角色」。看看這裏:https://docs.asp.net/en/latest/security/authorization/roles.html#policy-based-role-checks – regnauld
好,所以你說,如果我有一堆全局常量的所有角色功能和使用政策,我不應該需要RoleFunctions表?問題是我需要在功能級而不是角色級執行所有的檢查。例如:如果當前登錄的用戶是包含DeleteCustomer的角色的一部分,則在視圖模型中顯示垃圾桶。 –