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 ról 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
Przykłady
Poniższy przykład przedstawia plik Web.config dla aplikacji ASP.NET skonfigurowanej do używania obiektu SqlRoleProvider 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 klasy Roles i RolePrincipal w celu zapewnienia usług zarządzania rolami dla aplikacji ASP.NET przy użyciu bazy danych SQL Server. Zarządzanie rolami służy do określania różnych poziomów autoryzacji dla aplikacji.
Aby użyć klasy SqlRoleProvider, należy najpierw utworzyć bazę danych SQL Server używaną przez SqlRoleProvider. Aby utworzyć bazę danych używaną przez klasę SqlRoleProvider, uruchom plik wykonywalny aspnet_regsql.exe znaleziony w folderze C:\WINDOWS\Microsoft.NET\Framework\ versionNumber i określ opcję -Ar (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 wybrać skonfigurowanie wszystkich funkcji ASP.NET.
Jeśli dostawca roli jest skonfigurowany przy użyciu parametry połączenia korzystającego ze zintegrowanych zabezpieczeń, konto procesu aplikacji ASP.NET musi mieć uprawnienia do łączenia się 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 klasy AspNetSqlProvider, określ element AspNetSqlProvider jako defaultProvider element w konfiguracji.
Można skonfigurować ustawienie SqlRoleProvider tak, aby używało tych samych informacji o bazie danych i użytkownikach, co SqlMembershipProvider w celu używania pojedynczej bazy danych na potrzeby informacji o uwierzytelnianiu i autoryzacji. Aby użyć tej samej bazy danych do informacji o członkostwie i rolach, uruchom aspnet_regsql.exe wykonywalny i zainstaluj funkcję członkostwa. Następnie określ tę samą parametry połączenia w konfiguracji dla wystąpień SqlRoleProvider i SqlMembershipProvider. Upewnij się również, że oba wystąpienia dostawcy są skonfigurowane z tym samym ApplicationNameelementem .
Konstruktory
| Nazwa | Opis |
|---|---|
| SqlRoleProvider() |
Tworzy wystąpienie klasy SqlRoleProvider. |
Właściwości
| Nazwa | Opis |
|---|---|
| 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. (Odziedziczone po ProviderBase) |
| Name |
Pobiera przyjazną nazwę używaną do odwoływania się do dostawcy podczas konfiguracji. (Odziedziczone po ProviderBase) |
Metody
| Nazwa | Opis |
|---|---|
| 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() |
Pobiera Type bieżącego wystąpienia. (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 Object. (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 ról. |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |