簡體   English   中英

asp.net成員/角色提供商問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM