SqlRoleProvider Klasa

Definicja

Zarządza magazynem informacji o członkostwie roli dla aplikacji ASP.NET w bazie danych SQL Server.

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

Przykłady

W poniższym przykładzie przedstawiono plik Web.config dla aplikacji ASP.NET skonfigurowanej do używania SqlRoleProvider obiektu i .SqlMembershipProvider Element authorization jest skonfigurowany tak, aby zezwalał na dostęp tylko do uwierzytelnionych użytkowników w roli Administratorzy.

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

Uwagi

Ta klasa jest używana przez Roles klasy i RolePrincipal do udostępniania usług zarządzania rolami dla aplikacji ASP.NET przy użyciu bazy danych SQL Server. Zarządzanie rolami umożliwia określenie różnych poziomów autoryzacji dla aplikacji.

Aby użyć SqlRoleProvider klasy, należy najpierw utworzyć bazę danych SQL Server używaną przez klasę SqlRoleProvider. Aby utworzyć bazę danych używaną SqlRoleProvider przez klasę, uruchom aspnet_regsql.exe plik wykonywalny znajdujący się w folderze C:\WINDOWS\Microsoft.NET\Framework\ versionNumber i określ -Ar opcję (na przykład aspnet_regsql.exe -Ar). Utworzona baza danych nosi nazwę Aspnetdb. Alternatywnie uruchom aspnet_regsql.exe, aby ściągnąć tryb konfiguracji graficznego interfejsu użytkownika i skonfigurować wszystkie funkcje ASP.NET.

Jeśli dostawca roli jest skonfigurowany z parametrami połączenia, które używają zintegrowanych zabezpieczeń, konto procesu aplikacji ASP.NET musi mieć uprawnienia do nawiązywania połączenia z bazą danych SQL Server.

Plik Machine.config jest skonfigurowany z wystąpieniem SqlRoleProvider o nazwie AspNetSqlProvider, które łączy się z SQL Server na komputerze lokalnym. Możesz użyć tego wystąpienia dostawcy lub określić własne w pliku Web.config dla aplikacji ASP.NET. Aby użyć wystąpienia aspNetSqlProvider, określ element AspNetSqlProvider jako defaultProvider w konfiguracji.

Można skonfigurować tę SqlRoleProvider opcję, aby używać tej samej bazy danych i informacji o użytkowniku, co w SqlMembershipProvider celu używania pojedynczej bazy danych na potrzeby informacji o uwierzytelnianiu i autoryzacji. Aby użyć tej samej bazy danych na potrzeby informacji o członkostwie i roli, uruchom plik wykonywalny aspnet_regsql.exe i zainstaluj funkcję członkostwa. Następnie określ te same parametry połączenia w konfiguracji zarówno dla SqlRoleProvider wystąpień, jak i SqlMembershipProvider . Upewnij się również, że oba wystąpienia dostawcy są skonfigurowane przy użyciu tego samego ApplicationNameelementu .

Konstruktory

SqlRoleProvider()

Tworzy wystąpienie klasy SqlRoleProvider.

Właściwości

ApplicationName

Pobiera lub ustawia nazwę aplikacji, dla której mają być przechowywane i pobierane informacje o roli.

Description

Pobiera krótki, przyjazny opis odpowiedni do wyświetlania w narzędziach administracyjnych lub innych interfejsach użytkownika (UI).

(Odziedziczone po ProviderBase)
Name

Pobiera przyjazną nazwę używaną do odwoływania się do dostawcy podczas konfiguracji.

(Odziedziczone po ProviderBase)

Metody

AddUsersToRoles(String[], String[])

Dodaje określone nazwy użytkowników do każdej z określonych ról.

CreateRole(String)

Dodaje nową rolę do bazy danych ról.

DeleteRole(String, Boolean)

Usuwa rolę z bazy danych ról.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FindUsersInRole(String, String)

Pobiera tablicę nazw użytkowników w roli, w której nazwa użytkownika zawiera określoną nazwę użytkownika do dopasowania.

GetAllRoles()

Pobiera listę wszystkich ról aplikacji.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetRolesForUser(String)

Pobiera listę ról, w których znajduje się użytkownik.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetUsersInRole(String)

Pobiera listę użytkowników w określonej roli.

Initialize(String, NameValueCollection)

Inicjuje dostawcę roli SQL Server z wartościami właściwości określonymi w pliku konfiguracji aplikacji ASP.NET. Ta metoda nie jest przeznaczona do użycia bezpośrednio z kodu.

IsUserInRole(String, String)

Pobiera wartość wskazującą, czy określony użytkownik znajduje się w określonej roli.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RemoveUsersFromRoles(String[], String[])

Usuwa określone nazwy użytkowników z określonych ról.

RoleExists(String)

Pobiera wartość wskazującą, czy określona nazwa roli już istnieje w bazie danych roli.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też