AuthorizationStoreRoleProvider Klass

Definition

Hanterar lagring av information om rollmedlemskap för ett ASP.NET program i ett auktoriseringshanterares principarkiv, antingen i en XML-fil, i en služba Active Directory eller på en služba Active Directory programlägesserver.

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
Arv
AuthorizationStoreRoleProvider

Exempel

I följande kodexempel visas en Web.config fil som ska användas AuthorizationStoreRoleProvider för rollhantering.

<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>

Kommentarer

Den här klassen används av klasserna Roles och RolePrincipal för att tillhandahålla rollhanteringstjänster för ett ASP.NET-program med hjälp av ett auktoriseringshanterarearkiv. Du kan använda rollhantering för att ange olika auktoriseringsnivåer för ditt program. Auktoriseringshanteraren kan nås med hjälp av Microsoft Management Console.

Objektet AuthorizationStoreRoleProvider fungerar med både Windows authentication- och formulärautentiseringslägen.

Du kan konfigurera objektet AuthorizationStoreRoleProvider att använda antingen en lokal XML-fil eller en služba Active Directory- eller služba Active Directory ADAM-server (Application Mode). När du använder en lokal fil bör reťazec pripojenia se ut som i följande exempel.

msxml://<path to xml file>

Om den lokala filen lagras i katalogträdet i ett ASP.NET webbprogram kan du använda tilde-tecknet ("~") för att ange rotkatalogen. Om du till exempel vill ange att den lokala filen lagras i webbprogrammets datakatalog använder du en reťazec pripojenia som liknar följande exempel.

msxml://~\App_Data\datafilename.xml

Important

Att lagra en XML-datafil i webbprogramkatalogen är ett potentiellt säkerhetshot. Som standard kommer IIS att hantera XML-datafiler på webben. För att förbättra säkerheten när du använder en lokal datafil i ett ASP.NET program bör du lagra datafilen i katalogen App_Data. Filer som lagras i App_Data katalogen kommer inte att hanteras på webben.

Om du använder en služba Active Directory- eller ADAM-server för principarkivet bör din reťazec pripojenia likna följande exempel.

msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com

Undantagen som anges i dokumentationen för AuthorizationStoreRoleProvider objektmetoder är de undantag som genereras av AuthorizationStoreRoleProvider objektet. Eftersom providern förlitar sig på den underliggande Authentication Manager-körningen kan ett COMException undantag utlöses när AuthorizationStoreRoleProvider objektet vidarebefordrar ett metodanrop till Authentication Manager-körningen.

Important

Objektet AuthorizationStoreRoleProvider har följande krav för att köras i miljöer med partiellt förtroende:

När du använder ett filbaserat principarkiv i ett ASP.NET program avgör fil-I/O-behörigheterna som beviljas av den aktuella förtroendenivån om läs- och skrivåtgärder tillåts av providern. Det ASP.NET programmet måste ha läsbehörighet för filen för att läsa data från principarkivet och måste ha skrivbehörighet för att spara ny information eller uppdatera befintlig information i principarkivet. Standardfilen med medelhög förtroendeprincip ger ett ASP.NET program läs-/skrivbehörighet i programkatalogen. Standardfilen med låg förtroendeprincip ger bara ett ASP.NET program läsbehörighet i programkatalogen. Dessutom måste processidentiteten som ASP.NET-programmet körs under ha filsystembehörighet för att läsa och/eller skriva principfilen.

När du använder en služba Active Directory- eller ADAM-server behöver ASP.NET-programmet ohanterad kodbehörighet eftersom den interna AuthorizationStoreRoleProvider-objektkoden använder COM-interop.

När du använder objektet AuthorizationStoreRoleProvider utanför ASP.NET behöver den anropande koden ohanterad kodbehörighet.

Konstruktorer

Name Description
AuthorizationStoreRoleProvider()

Initierar en ny instans av AuthorizationStoreRoleProvider klassen.

Egenskaper

Name Description
ApplicationName

Hämtar eller anger namnet på det auktoriseringsarkivprogram som rollinformationen ska lagras och hämtas för.

CacheRefreshInterval

Hämtar antalet minuter mellan uppdateringar av cacheminnet för principlagringsdata.

Description

Hämtar en kort, vänlig beskrivning som är lämplig för visning i administrativa verktyg eller andra användargränssnitt (UIs).

(Ärvd från ProviderBase)
Name

Hämtar det eget namn som används för att referera till providern under konfigurationen.

(Ärvd från ProviderBase)
ScopeName

Hämtar eller anger omfångsnamnet för auktoriseringsarkivet.

Metoder

Name Description
AddUsersToRoles(String[], String[])

Lägger till de angivna användarnamnen i var och en av de angivna rollerna.

CreateRole(String)

Lägger till en ny roll i principarkivet för rollauktoriseringshanteraren.

DeleteRole(String, Boolean)

Tar bort en roll från auktoriseringshanterarens principarkiv.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
FindUsersInRole(String, String)

Den här metoden stöds inte av rollprovidern för auktoriseringsarkivet.

GetAllRoles()

Hämtar en lista över alla roller för programmet.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetRolesForUser(String)

Hämtar en lista över de roller som en användare finns i.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetUsersInRole(String)

Hämtar en lista över användare i den angivna rollen.

Initialize(String, NameValueCollection)

Initierar rollprovidern authorization-manager med de egenskapsvärden som anges i ASP.NET-programmets konfigurationsfil. Den här metoden är inte avsedd att användas direkt från koden.

IsUserInRole(String, String)

Hämtar ett värde som anger om den angivna användaren finns i den angivna rollen.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
RemoveUsersFromRoles(String[], String[])

Tar bort de angivna användarnamnen från de angivna rollerna.

RoleExists(String)

Hämtar ett värde som anger om det angivna rollnamnet redan finns i policyarkivet för authorization-manager.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även