[英]asp.net membership/roles provider question
我的應用程序需要具有針對不同團隊在不同級別進行保護的能力。 例如,某人可能是一個團隊的管理員,但只能是另一個團隊的查看者。
理想情況下,我希望只使用一個小組角色,但是我希望將人員分配給每個團隊中不同的角色。 即“ Joe”可能是TeamA的管理員,但具有TeamB的讀者訪問權限。
Asp.Net提供程序框架會支持嗎?
--Matt
更新:我的問題是“ IsInRole”方法。 它需要一個參數。 除了破解(將兩個項目連接在一起,例如團隊ID和角色名稱)之外,還有其他方法可以實現此目標嗎?
據我所知,就RoleProvider
類的工作方式而言,沒有角色的分組,但是沒有理由不能在數據源中實現分組結構。 但是,RoleProvider確實支持不同的應用程序名稱,因此可以使用它來提出某種將應用程序划分為多個邏輯組的方法,這些邏輯組被標識為不同的邏輯組,從而為其分配了不同的角色。
編輯:
為了響應您的編輯,您可以在數據庫中具有以下結構
Group Table Access Table Role Table
id | name id | name group_id | access_id | name
----------- ------------ ---------------------------
1 Team A 1 Guest 1 1 Team A Guest
2 Team B 2 User 1 2 Team A User
3 Admin 1 3 Team A Admin
具有一種機制,用於在插入新行時更新“ Role
表中的name
字段。
實現自定義RoleProvider非常簡單。 您只需要從RoleProvider
繼承並覆蓋所需的方法,就RoleProvider應從何處獲取數據的邏輯進行編寫。
並非開箱即用。 您需要創建一個自定義提供程序以支持此功能
這是創建自定義成員資格提供程序http://www.asp.net/learn/videos/video-189.aspx的示例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.