AuthorizationStoreRoleProvider.ApplicationName Właściwość
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.
Pobiera lub ustawia nazwę aplikacji magazynu autoryzacji, dla której mają być przechowywane i pobierane informacje o rolach.
public:
virtual property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public override string ApplicationName { get; set; }
member this.ApplicationName : string with get, set
Public Overrides Property ApplicationName As String
Wartość właściwości
Nazwa aplikacji magazynu autoryzacji, dla której mają być przechowywane i pobierane informacje o roli. Wartość domyślna ApplicationPath to wartość właściwości bieżącej Requestwartości .
Wyjątki
Podjęto próbę ustawienia ApplicationName ciągu, który jest dłuższy niż 256 znaków.
Przykłady
Poniższy przykład przedstawia <roleManager> element w system.web
sekcji pliku Web.config dla aplikacji ASP.NET. Określa wystąpienie aplikacji AuthorizationStoreRoleProvider i ustawia ApplicationName właściwość na MyApplication
.
<roleManager defaultProvider="AuthorizationStoreProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<add
name="SqlProvider"
type="System.Web.Security.AuthorizationStoreRoleProvider"
connectionStringName="AuthorizationStoreServices"
scopeName="MyScope"
applicationName="MyApplication" />
</providers>
</roleManager>
Uwagi
Element ApplicationName jest używany przez AuthorizationStoreRoleProvider program do kojarzenia użytkowników i ról z różnymi aplikacjami menedżera autoryzacji, co umożliwia wielu aplikacjom ASP.NET używanie tego samego magazynu zasad menedżera autoryzacji do przechowywania informacji o rolach bez wystąpienia konfliktów między zduplikowanymi nazwami ról. Alternatywnie wiele aplikacji ASP.NET może używać tego samego magazynu zasad, określając tę samą wartość we ApplicationName właściwości . Właściwość ApplicationName można ustawić programowo lub można ją deklaratywnie ustawić w pliku Web.config aplikacji przy użyciu atrybutu applicationName
.
Jeśli wartość nie jest określona dla atrybutu applicationName
w pliku Web.config, HttpRequest.ApplicationPath zostanie użyta wartość właściwości bieżącego HttpContext.Request obiektu.
Uwaga
Nazwy aplikacji menedżera autoryzacji nie mogą zawierać znaku "/", który znajduje się we HttpRequest.ApplicationPath właściwości . W związku z tym wartość ApplicationName domyślna właściwości nie może być używana jako nazwa aplikacji menedżera autoryzacji, a w pliku Web.config aplikacji należy zawsze określić applicationName
atrybut w elemecie provider
, aby skonfigurować AuthorizationStoreRoleProvider wystąpienie.
Przestroga
Ponieważ pojedyncze domyślne wystąpienie dostawcy roli jest używane dla wszystkich żądań obsługiwanych przez HttpApplication obiekt, można mieć wiele żądań wykonywanych jednocześnie i próbować ustawić ApplicationName wartość właściwości. Właściwość ApplicationName nie jest bezpieczna wątkowo dla wielu zapisów, a zmiana ApplicationName wartości właściwości może spowodować nieoczekiwane zachowanie, gdy istnieje wielu użytkowników aplikacji. Zalecamy unikanie pisania kodu, który umożliwia użytkownikom ustawianie ApplicationName właściwości, chyba że musisz. Przykładem aplikacji, w której może być wymagane ustawienie ApplicationName właściwości, jest aplikacja administracyjna, która zarządza danymi roli dla wielu aplikacji. Taka aplikacja powinna być aplikacją dla jednego użytkownika, a nie aplikacją internetową.