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
Im folgenden Codebeispiel wird eine Web.config Datei festgelegt, 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 den Roles RolePrincipal Klassen verwendet, um Rollenverwaltungsdienste für eine ASP.NET Anwendung mithilfe eines Autorisierungs-Manager-Speichers bereitzustellen. Sie können die Rollenverwaltung verwenden, um verschiedene Autorisierungsebenen für Ihre Anwendung anzugeben. Auf den Autorisierungs-Manager kann mithilfe der Microsoft Management Console zugegriffen werden.
Das AuthorizationStoreRoleProvider Objekt funktioniert sowohl mit Windows-Authentifizierung als auch mit Formularauthentifizierungsmodi.
Sie können das AuthorizationStoreRoleProvider Objekt konfigurieren, um entweder eine lokale XML-Datei oder einen Active Directory- oder Active Directory-Anwendungsmodus (ADAM)-Server zu verwenden. Bei Verwendung einer lokalen Datei sollte die Verbindungszeichenfolge wie das folgende Beispiel aussehen.
msxml://<path to xml file>
Wenn die lokale Datei in der Verzeichnisstruktur einer ASP.NET Webanwendung gespeichert wird, können Sie das Tildezeichen ("~") verwenden, um das Stammverzeichnis anzugeben. Um beispielsweise anzugeben, dass die lokale Datei im Datenverzeichnis der Webanwendung gespeichert ist, würden Sie eine Verbindungszeichenfolge wie im folgenden Beispiel verwenden.
msxml://~\App_Data\datafilename.xml
Wichtig
Das Speichern einer XML-Datendatei im Webanwendungsverzeichnis ist eine potenzielle Sicherheitsrisiken. Standardmäßig wird IIS XML-Datendateien im Web bereitstellen. Um die Sicherheit bei verwendung einer lokalen Datendatei in einer ASP.NET Anwendung zu verbessern, sollten Sie die Datendatei im App_Data
Verzeichnis speichern. Dateien, die im Verzeichnis gespeichert sind, werden nicht an das App_Data
Web bereitgestellt.
Wenn Sie einen Active Directory- oder ADAM-Server für den Richtlinienspeicher verwenden, sollte die Verbindungszeichenfolge dem folgenden Beispiel ähnlich sein.
msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com
Die in der AuthorizationStoreRoleProvider Dokumentation für AuthorizationStoreRoleProvider Objektmethoden aufgeführten Ausnahmen sind die Ausnahmen, die vom Objekt ausgelöst werden. Da der Anbieter auf die zugrunde liegende Authentifizierungs-Manager-Laufzeit basiert, kann eine COMException Ausnahme ausgelöst werden, wenn das AuthorizationStoreRoleProvider Objekt einen Methodenaufruf an die Authentifizierungs-Manager-Laufzeit weiterleitet.
Wichtig
Das AuthorizationStoreRoleProvider Objekt verfügt über die folgenden Anforderungen für die Ausführung in teilvertrauenswürdigen Umgebungen:
Wenn Sie einen dateibasierten Richtlinienspeicher in einer ASP.NET Anwendung verwenden, bestimmen die von der aktuellen Vertrauensstufe gewährten Datei-I/O-Berechtigungen, ob Lese- und Schreibaktionen vom Anbieter zulässig sind. Die ASP.NET-Anwendung muss über leseberechtigungen für die Datei verfügen, um Daten aus dem Richtlinienspeicher zu lesen, und sie müssen über schreibberechtigungen verfügen, um neue Informationen zu speichern oder vorhandene Informationen im Richtlinienspeicher zu aktualisieren. Die Standardmäßige Richtliniendatei "Mittelvertrauenswürdig" bietet eine ASP.NET Anwendungs-Lese-/Schreibberechtigungen im Anwendungsverzeichnis. Die standardmäßige Datei mit niedriger vertrauenswürdiger Richtlinie gibt nur eine leseberechtigung ASP.NET Anwendung im Anwendungsverzeichnis. Darüber hinaus muss die Prozessidentität, unter der die ASP.NET Anwendung ausgeführt wird, über Dateisystemberechtigungen verfügen, um die Richtliniendatei zu lesen und/oder zu schreiben.
Bei Verwendung eines Active Directory- oder ADAM-Servers benötigt die ASP.NET Anwendung nicht verwaltete Codeberechtigungen, da der interne AuthorizationStoreRoleProvider Objektcode COM-Interop verwendet.
Wenn Sie das Objekt außerhalb von ASP.NET verwenden, benötigt der AuthorizationStoreRoleProvider Aufrufcode nicht verwaltete Codeberechtigungen.
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) |