2009-02-27 13 views
25

içinde özel bir RoleProvider kullanırken birden çok rolün bir sayfayı görmesine nasıl izin verebilirim Kendi Rol Sağlayıcımı oluşturdum çünkü ASP.Net'in tablolarda tablo açısından çok hantal olduğunu fark ettim. veri tabanı. Özel bir RoleProvider'ı uygulamak oldukça kolay oldu.ASP.Net

Tek sorunum şu ki, bir sayfa için birden fazla rolüm olamaz. Sınıfınızın en üstünde, bazı güvenlik kodlarıyla "anotate" yapmanız gerektiğini gördüm. Bu ben hataları olsun virgülle ayrılmış listesini kullanarak birden çok rol eklemeyi denerseniz ben

[PrincipalPermission(SecurityAction.Demand, Role="Admin")] 

ne var. Birden çok rol anahtarını belirtmeye çalışırsam, hata da alırım. Birden çok PrinicipalPermission'ı herhangi bir şansla belirtmem gerekiyor mu?

ASP.Net'in rol yönetimi konusunda çok az deneyimim var. Birisi bana doğru yönde veya iyi bir edebiyatta işaret edebilir. PrinicpalPermission özniteliğini çok kez

cevap

67

ekleyebilirsiniz. Herkes merak edenler için

[PrincipalPermission(SecurityAction.Demand, Role="Admin")] 
[PrincipalPermission(SecurityAction.Demand, Role="AnotherRole")] 
+47

, bu çoklu için "OR" dur rolleri değil, "AND". – Ted

+0

@Ted +1, iyi yorum, bu çok önemli! –

+3

Ardından 'VE' nasıl yapılacağına başvurabilir misiniz? Okumak için oldukça karmaşık olan 'kesişen' ve 'sendika' yöntemlerini buluyorum. –

-3
[PrincipalPermission(SecurityAction.Demand, Role="Admin,Another RoleName")]