2009-02-27 2 views
25

ich meinen eigenen Rolle Provider angelegt habe, weil ich denjenigen, den ASP.Net bietet seine viel zu sperrig in Bezug auf den Tabellen in der gefunden Datenbank. Ich fand die Implementierung eines benutzerdefinierten RoleProviders ziemlich einfach.Wie ermögliche ich mehr Rollen, eine Seite zu sehen, wenn Sie einen benutzerdefinierten Roleprovider in ASP.Net mit

Mein einziges Problem ist, dass gerade jetzt kann ich nicht für eine Seite mehrere Rollen haben. Ich habe irgendwo gesehen, dass Sie an der Spitze Ihrer Klasse mit einem Sicherheitscode "anotate" müssen. Dies ist, was ich habe

Wenn ich versuche, mehrere Rollen durch eine kommagetrennte Liste aufzunehmen, bekomme ich Fehler. Wenn ich versuche, mehrere Rollenschlüssel anzugeben, bekomme ich auch Fehler. Muss ich zufällig mehrere PrincipalPermissions angeben?

Ich habe sehr wenig Erfahrung mit Rollenmanagement des ASP.Net. Kann mir jemand in die richtige Richtung oder zu guter Literatur zeigen?

Antwort

67

Sie die PrinicpalPermission hinzufügen kann mehrfach zuordnen.

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

Für alle fragen, dann ist dies für mehr "ODER" Rollen, nicht "AND". – Ted

+0

@Ted +1, guter Kommentar, das ist sehr wichtig! –

+3

Dann können Sie sich darauf beziehen, wie 'UND' zu tun ist? Ich finde die Methoden "intersect" und "union" ziemlich verwirrend zu lesen. –

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