是否有任何預先存在的解決方案可擴展內置的SQL成員資格提供程序& .NET中的Sql角色提供程序具有組成員資格。分組角色並將用戶分配到組(ASP.NET角色提供程序)
現在的角色關係看起來像
Users ====> UserRoles <=====Roles
我想延長那看起來像
Users ====> UserGroups <==== Groups ====> GroupRoles <==== Roles.
比方說,你必須在它30個或40不同角色的應用程序。每當新員工加入公司時,您必須記住部門通常會獲得哪些角色&,然後確保在設置其網站帳戶時勾選這8個複選框。
如果您有組織概念,可以爲每個部門設置一個「組」,作爲部門員工通常獲得的角色的邏輯分組。然後,您可以將新員工添加到單個組。
是否有任何現成可用的實現已經可以節省我寫我自己的?
我假設你想要的模型基本上就像[我的這裏](http://stackoverflow.com/questions/5518746/how-to-join-with-linq-to-typed-dataset),不是嗎?我的'角色'只是一個用戶組,這個權限由'AccessRule'控制。 – 2012-02-21 12:10:25
確實如此。你有一點點不同我想在用戶和角色之間添加一個「組」,你已經創建了角色==組,並且增加了AccessRules,但是這個概念看起來基本相同。 我想以另一種方式來做這件事的唯一原因是能夠仍然利用像IsInRole()等內置的提供者方法。 – 2012-02-21 12:27:27
我的方法的優點是你不需要實現一個自定義的'角色提供者「,因爲它使它看起來不受影響。 ASP.NET不需要知道我在另一端增強了它。我也實現了一個模板函數,通過使用另一個角色作爲模板來創建新的角色。這是另一個「角色」(或你的默認角色)的「AccessRules」列表。我不需要使用'IsInRole'來檢查授權。我已經實現了自己的'hasAccess'方法來檢查用戶是否屬於具有給定'AccessRule'的角色(f.e。DeleteXY)。 – 2012-02-21 12:41:47