SqlRoleProvider Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zarządza magazynem informacji o członkostwie roli dla aplikacji ASP.NET w bazie danych programu 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
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 programu 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 programu SQL Server używaną przez program 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 programu SQL Server.
Plik Machine.config jest skonfigurowany z wystąpieniem SqlRoleProvider o nazwie AspNetSqlProvider, które łączy się z programem 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 programu 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) |