AuthorizationStoreRoleProvider 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 przechowywaniem informacji o członkostwie roli dla aplikacji ASP.NET w magazynie zasad menedżera autoryzacji w pliku XML w usłudze Active Directory lub na serwerze trybu aplikacji usługi Active Directory.
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
- Dziedziczenie
Przykłady
Poniższy przykład kodu przedstawia Web.config plik ustawiony do użycia AuthorizationStoreRoleProvider do zarządzania rolami.
<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>
Uwagi
Ta klasa jest używana przez Roles klasy i RolePrincipal w celu zapewnienia usług zarządzania rolami dla aplikacji ASP.NET przy użyciu magazynu menedżera autoryzacji. Zarządzanie rolami służy do określania różnych poziomów autoryzacji dla aplikacji. Dostęp do menedżera autoryzacji można uzyskać za pomocą programu Microsoft Management Console.
Obiekt AuthorizationStoreRoleProvider działa zarówno z trybami uwierzytelniania systemu Windows, jak i formularzy.
Obiekt można skonfigurować AuthorizationStoreRoleProvider do używania lokalnego pliku XML lub serwera usługi Active Directory lub trybu aplikacji usługi Active Directory (ADAM). W przypadku korzystania z pliku lokalnego parametry połączenia powinny wyglądać jak w poniższym przykładzie.
msxml://<path to xml file>
Jeśli plik lokalny jest przechowywany w drzewie katalogów aplikacji sieci Web ASP.NET, możesz użyć znaku tyldy ("~"), aby wskazać katalog główny. Aby na przykład wskazać, że plik lokalny jest przechowywany w katalogu danych aplikacji internetowej, należy użyć parametrów połączenia podobnych do poniższego przykładu.
msxml://~\App_Data\datafilename.xml
Ważne
Przechowywanie pliku danych XML w katalogu aplikacji internetowej jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie usługi IIS będą udostępniać pliki danych XML w sieci Web. Aby zwiększyć bezpieczeństwo podczas korzystania z lokalnego pliku danych w aplikacji ASP.NET, należy zapisać plik danych w App_Data
katalogu. Pliki przechowywane w App_Data
katalogu nie będą obsługiwane w sieci Web.
Jeśli używasz serwera usługi Active Directory lub ADAM dla magazynu zasad, parametry połączenia powinny być podobne do poniższego przykładu.
msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com
Wyjątki wymienione w dokumentacji metod AuthorizationStoreRoleProvider obiektów to wyjątki zgłaszane przez AuthorizationStoreRoleProvider obiekt . Ponieważ dostawca opiera się na podstawowym środowisku uruchomieniowym Menedżera uwierzytelniania, może zostać zgłoszony wyjątek za każdym razem, COMException gdy AuthorizationStoreRoleProvider obiekt przekazuje wywołanie metody do środowiska uruchomieniowego menedżera uwierzytelniania.
Ważne
Obiekt AuthorizationStoreRoleProvider ma następujące wymagania dotyczące uruchamiania w środowiskach częściowo zaufania:
W przypadku korzystania z magazynu zasad opartych na plikach w aplikacji ASP.NET uprawnienia we/wy pliku przyznane przez bieżący poziom zaufania określają, czy dostawca zezwoli na akcje odczytu i zapisu. Aplikacja ASP.NET musi mieć uprawnienia do odczytu w pliku w celu odczytu danych z magazynu zasad i musi mieć uprawnienia do zapisu, aby zapisać nowe informacje lub zaktualizować istniejące informacje w magazynie zasad. Domyślny plik zasad o średnim zaufaniu zawiera uprawnienia do odczytu/zapisu aplikacji ASP.NET w katalogu aplikacji. Domyślny plik zasad o niskim zaufaniu daje tylko uprawnienie do odczytu aplikacji ASP.NET w katalogu aplikacji. Ponadto tożsamość procesu, w ramach której działa aplikacja ASP.NET, musi mieć uprawnienia systemu plików do odczytu i/lub zapisu pliku zasad.
W przypadku korzystania z serwera usługi Active Directory lub ADAM aplikacja ASP.NET wymaga uprawnienia niezarządzanego kodu, ponieważ kod obiektu wewnętrznego AuthorizationStoreRoleProvider używa międzyoperacjności MODELU COM.
W przypadku używania AuthorizationStoreRoleProvider obiektu poza ASP.NET wywoływanie kodu wymaga uprawnienia niezarządzanego kodu.
Konstruktory
AuthorizationStoreRoleProvider() |
Inicjuje nowe wystąpienie klasy AuthorizationStoreRoleProvider. |
Właściwości
ApplicationName |
Pobiera lub ustawia nazwę aplikacji magazynu autoryzacji, dla której mają być przechowywane i pobierane informacje o rolach. |
CacheRefreshInterval |
Pobiera liczbę minut między odświeżeniami pamięci podręcznej danych magazynu zasad. |
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) |
ScopeName |
Pobiera lub ustawia nazwę zakresu dla magazynu autoryzacji. |
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 magazynu zasad menedżera autoryzacji roli. |
DeleteRole(String, Boolean) |
Usuwa rolę z magazynu zasad menedżera autoryzacji. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
FindUsersInRole(String, String) |
Ta metoda nie jest obsługiwana przez dostawcę roli magazynu autoryzacji. |
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 wartość bieżącego wystąpienia. (Odziedziczone po Object) |
GetUsersInRole(String) |
Pobiera listę użytkowników w określonej roli. |
Initialize(String, NameValueCollection) |
Inicjuje dostawcę roli menedżera autoryzacji 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 magazynie zasad menedżera autoryzacji. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |