Erfordert mehrere Rollen in der Web.config-Autorisierung

8

Kann angegeben werden, dass im Autorisierungselement der Datei web.config mehrere Rollen erforderlich sind? Ich habe derzeit diesen Block in einer web.config meiner Website für ein bestimmtes Verzeichnis:

%Vor%

Ich habe gerade einen Sonderfall identifiziert, bei dem eine Person mit zwei niedrigeren Berechtigungen als Global und Region ebenfalls Zugriff auf dieses Verzeichnis haben sollte. Grob gesagt möchte ich so etwas:

%Vor%

Irgendwelche Ideen? Mir ist klar, dass ich wahrscheinlich eine neue Rolle für dieses Szenario haben sollte, aber ich möchte das vermeiden. Danke!

    
Derek Morrison 29.04.2010, 15:01
quelle

2 Antworten

3

Ich denke nicht, dass Sie dies über die aktuellen, in web.config erlaubten Konfigurationen tun können. Was Sie jedoch tun könnten, ist ungefähr wie folgt ... Verwenden Sie als erste Zeile in Ihrem Page_Load -Ereignis für die fragliche Seite den folgenden Code (VB):

%Vor%

Diese Zeile setzt natürlich voraus, dass Sie FormsAuthentication verwenden. Wenn nicht, müssten Sie FormsAuthentication.RedirectToLoginPage() je nach Authentifizierungsmethode durch den entsprechenden Code ersetzen.

Ich kenne Ihre Situation nicht genau, aber basierend auf Ihrem Code sieht es so aus, als könnten Sie noch einen Schritt weiter gehen und eine Tabelle mit einer Zuordnung von Benutzern zu Sites hinzufügen und so etwas wie das Folgende tun:

Fügen Sie in einem öffentlichen Modul den folgenden Code hinzu:

%Vor%

Dann können Sie den vorherigen Code als etwas Logischeres schreiben, wie zum Beispiel:

%Vor%     
eidylon 29.04.2010, 16:46
quelle
3

Die Methode, die ich normalerweise verwende, um dies zu lösen, besteht darin, beim Einrichten der Benutzerrollen virtuelle Rollen zu erstellen. Wenn Sie also nur Studentenadministratoren den Zugriff auf eine Seite erlauben möchten, wenn ein Benutzer sowohl Student- als auch Administratorrollen hat, können Sie eine neue StudentAdministrator-Rolle hinzufügen.

    
user1474090 22.06.2012 12:57
quelle