SqlRoleProvider Klass

Definition

Hanterar lagring av information om rollmedlemskap för ett ASP.NET program i en SQL Server databas.

public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
    inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
Arv
SqlRoleProvider

Exempel

I följande exempel visas Web.config-filen för ett ASP.NET-program som har konfigurerats för att använda ett SqlRoleProvider-objekt och SqlMembershipProvider. Elementet authorization är konfigurerat för att endast tillåta åtkomst till autentiserade användare i rollen Administratörer.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="logincs.aspx"
      name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
      <allow roles="Administrators" />
      <deny users="*" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          passwordFormat="Hashed"
          applicationName="SampleApplication" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="true"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices"
          applicationName="SampleApplication" />
      </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 en SQL Server databas. Du kan använda rollhantering för att ange olika auktoriseringsnivåer för ditt program.

Om du vill använda klassen SqlRoleProvider måste du först skapa den SQL Server databas som används av SqlRoleProvider. Om du vill skapa databasen som används av klassen SqlRoleProvider kör du aspnet_regsql.exe körbar fil i mappen C:\WINDOWS\Microsoft.NET\Framework\ versionNumber och anger alternativet -Ar (till exempel aspnet_regsql.exe -Ar). Databasen som skapas kallas Aspnetdb. Du kan också köra aspnet_regsql.exe för att hämta GUI-konfigurationsläget och välja att konfigurera alla ASP.NET funktioner.

Om rollprovidern har konfigurerats med en reťazec pripojenia som använder integrerad säkerhet måste processkontot för ASP.NET-programmet ha behörighet att ansluta till SQL Server-databasen.

Filen Machine.config har konfigurerats med en SqlRoleProvider-instans med namnet AspNetSqlProvider som ansluter till SQL Server på den lokala datorn. Du kan använda den här instansen av providern eller ange din egen i Web.config-filen för ditt ASP.NET-program. Om du vill använda AspNetSqlProvider-instansen anger du AspNetSqlProvider som i konfigurationen defaultProvider .

Du kan konfigurera SqlRoleProvider att använda samma databas och användarinformation som SqlMembershipProvider för att använda en enkel databas för autentiserings- och auktoriseringsinformation. Om du vill använda samma databas för medlemskaps- och rollinformation kör du aspnet_regsql.exe körbar fil och installerar medlemskapsfunktionen. Ange sedan samma reťazec pripojenia i konfigurationen för både instanserna SqlRoleProvider och SqlMembershipProvider. Kontrollera också att båda providerinstanserna är konfigurerade med samma ApplicationName.

Konstruktorer

Name Description
SqlRoleProvider()

Skapar en instans av SqlRoleProvider klassen.

Egenskaper

Name Description
ApplicationName

Hämtar eller anger namnet på programmet för vilket rollinformationen ska lagras och hämtas.

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)

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

DeleteRole(String, Boolean)

Tar bort en roll från rolldatabasen.

Equals(Object)

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

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

Hämtar en matris med användarnamn i en roll där användarnamnet innehåller det angivna användarnamnet som ska matchas.

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 SQL Server rollprovidern 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 rolldatabasen.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även