AuthorizationStoreRoleProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verwaltet Speicher der Rollenmitgliedschaftsinformationen für eine ASP.NET-Anwendung in einem Autorisierungs-Manager-Richtlinienspeicher. Dies erfolgt in einer XML-Datei, in einem Active Directory oder auf einem Active Directory-Anwendungsmodus-Server.
public ref class AuthorizationStoreRoleProvider : System::Web::Security::RoleProvider
public class AuthorizationStoreRoleProvider : System.Web.Security.RoleProvider
type AuthorizationStoreRoleProvider = class
inherit RoleProvider
Public Class AuthorizationStoreRoleProvider
Inherits RoleProvider
- Vererbung
Beispiele
Das folgende Codebeispiel zeigt eine Web.config Datei, die für die AuthorizationStoreRoleProvider Rollenverwaltung verwendet werden soll.
<configuration>
<connectionStrings>
<add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />
</connectionStrings>
<system.web>
<authentication mode="Windows" />
<identity impersonate="true" />
<roleManager defaultProvider="AuthorizationStoreRoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<clear />
<add
name="AuthorizationStoreRoleProvider"
type="System.Web.Security.AuthorizationStoreRoleProvider"
connectionStringName="AuthorizationServices"
applicationName="SampleApplication"
cacheRefreshInterval="60"
scopeName="" />
</providers>
</roleManager>
</system.web>
</configuration>
Hinweise
Diese Klasse wird von der Roles - und RolePrincipal -Klasse verwendet, um Rollenverwaltungsdienste für eine ASP.NET Anwendung mithilfe eines Autorisierungs-Manager-Speichers bereitzustellen. Sie können die Rollenverwaltung verwenden, um verschiedene Autorisierungsstufen für Ihre Anwendung anzugeben. Auf den Autorisierungs-Manager kann über die Microsoft Management Console zugegriffen werden.
Das AuthorizationStoreRoleProvider Objekt funktioniert sowohl mit den Authentifizierungsmodi windows als auch mit formularauthentifizierung.
Sie können das AuthorizationStoreRoleProvider Objekt so konfigurieren, dass es entweder eine lokale XML-Datei oder einen Active Directory- oder ADAM-Server (Active Directory Application Mode) verwendet. Bei Verwendung einer lokalen Datei sollte die Verbindungszeichenfolge wie im folgenden Beispiel aussehen.
msxml://<path to xml file>
Wenn die lokale Datei in der Verzeichnisstruktur einer ASP.NET Webanwendung gespeichert ist, können Sie das Tildezeichen ("~") verwenden, um das Stammverzeichnis anzugeben. Um beispielsweise anzugeben, dass die lokale Datei im Datenverzeichnis der Webanwendung gespeichert ist, verwenden Sie eine Verbindungszeichenfolge ähnlich dem folgenden Beispiel.
msxml://~\App_Data\datafilename.xml
Wichtig
Das Speichern einer XML-Datendatei im Webanwendungsverzeichnis stellt eine potenzielle Sicherheitsbedrohung dar. Standardmäßig stellt IIS XML-Datendateien für das Web bereit. Um die Sicherheit bei der Verwendung einer lokalen Datendatei in einer ASP.NET-Anwendung zu verbessern, sollten Sie die Datendatei im App_Data
Verzeichnis speichern. Dateien, die App_Data
im Verzeichnis gespeichert sind, werden nicht für das Web bereitgestellt.
Wenn Sie einen Active Directory- oder ADAM-Server für den Richtlinienspeicher verwenden, sollte Ihre Verbindungszeichenfolge dem folgenden Beispiel ähneln.
msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com
Die in der Dokumentation für AuthorizationStoreRoleProvider Objektmethoden aufgeführten Ausnahmen sind die Ausnahmen, die AuthorizationStoreRoleProvider vom -Objekt ausgelöst werden. Da der Anbieter von der zugrunde liegenden Authentication Manager-Runtime abhängig ist, kann eine COMException Ausnahme ausgelöst werden, wenn das AuthorizationStoreRoleProvider Objekt einen Methodenaufruf an die Authentication Manager-Runtime weiterleitet.
Wichtig
Für AuthorizationStoreRoleProvider das Objekt gelten die folgenden Anforderungen für die Ausführung in teilweise vertrauenswürdigen Umgebungen:
Wenn Sie einen dateibasierten Richtlinienspeicher in einer ASP.NET-Anwendung verwenden, bestimmen die von der aktuellen Vertrauensstufe gewährten Datei-E/A-Berechtigungen, ob Lese- und Schreibaktionen vom Anbieter zulässig sind. Die ASP.NET-Anwendung muss über die Leseberechtigung für die Datei verfügen, um Daten aus dem Richtlinienspeicher zu lesen, und sie muss über schreibberechtigungen verfügen, um neue Informationen zu speichern oder vorhandene Informationen im Richtlinienspeicher zu aktualisieren. Die Standardmäßige Richtliniendatei mit mittlerer Vertrauenswürdigkeit gewährt einer ASP.NET Anwendung Lese-/Schreibberechtigungen in ihrem Anwendungsverzeichnis. Die Standardmäßige Richtliniendatei mit geringer Vertrauenswürdigkeit gewährt nur einer ASP.NET-Anwendung leseberechtigung in ihrem Anwendungsverzeichnis. Darüber hinaus muss die Prozessidentität, unter der die ASP.NET Anwendung ausgeführt wird, über Dateisystemberechtigungen zum Lesen und/oder Schreiben der Richtliniendatei verfügen.
Bei Verwendung eines Active Directory- oder ADAM-Servers benötigt die ASP.NET-Anwendung die Berechtigung nicht verwalteten Code, da der interne AuthorizationStoreRoleProvider Objektcode COM-Interop verwendet.
Wenn Sie das AuthorizationStoreRoleProvider -Objekt außerhalb von ASP.NET verwenden, benötigt der aufrufende Code die Berechtigung nicht verwalteten Code.
Konstruktoren
AuthorizationStoreRoleProvider() |
Initialisiert eine neue Instanz der AuthorizationStoreRoleProvider-Klasse. |
Eigenschaften
ApplicationName |
Ruft den Namen der Autorisierungsspeicheranwendung ab, für die Rolleninformationen gespeichert und abgerufen werden sollen, oder legt diesen fest. |
CacheRefreshInterval |
Ruft die Anzahl der Minuten zwischen den Cacheaktualisierungen der Richtlinienspeicherdaten ab. |
Description |
Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen geeignet ist. (Geerbt von ProviderBase) |
Name |
Ruft den Anzeigennamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen. (Geerbt von ProviderBase) |
ScopeName |
Ruft den Bereichsnamen für den Autorisierungsspeicher ab oder legt diesen fest. |
Methoden
AddUsersToRoles(String[], String[]) |
Fügt jeder der angegebenen Rollen die angegebenen Benutzernamen hinzu. |
CreateRole(String) |
Fügt dem Rollenautorisierungs-Manager-Richtlinienspeicher eine neue Rolle hinzu. |
DeleteRole(String, Boolean) |
Entfernt eine Rolle aus dem Autorisierungsmanager-Richtlinienspeicher. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindUsersInRole(String, String) |
Diese Methode wird vom Rollenanbieter für Autorisierungsspeicher nicht unterstützt. |
GetAllRoles() |
Ruft eine Liste aller Rollen für die Anwendung ab. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetRolesForUser(String) |
Ruft eine Liste der Rollen ab, die ein Benutzer innehat. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetUsersInRole(String) |
Ruft eine Liste der Benutzer mit der angegebenen Rolle ab. |
Initialize(String, NameValueCollection) |
Initialisiert den Autorisierungs-Manager-Rollenanbieter mit den Eigenschaftswerten, die in der Konfigurationsdatei der ASP.NET-Anwendung angegeben sind. Diese Methode ist nicht für die direkte Verwendung im Code vorgesehen. |
IsUserInRole(String, String) |
Ruft einen Wert ab, der angibt, ob der angegebene Benutzer die angegebene Rolle innehat. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
RemoveUsersFromRoles(String[], String[]) |
Entfernt die angegebenen Benutzernamen aus den angegebenen Rollen. |
RoleExists(String) |
Ruft einen Wert ab, der angibt, ob der angegebene Rollenname bereits im Autorisierungsmanager-Richtlinienspeicher vorhanden ist. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |