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 roli.
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żącego Requestelementu .
Wyjątki
Podjęto próbę ustawienia ApplicationName ciągu na ciąg dłuższy niż 256 znaków.
Przykłady
Poniższy przykład przedstawia <element roleManager> 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 roli 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 zostanie 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 jest uwzględniony we HttpRequest.ApplicationPath właściwości. W związku z tym wartość domyślna właściwości ApplicationName nie może być używana jako nazwa aplikacji menedżera autoryzacji, a w pliku Web.config aplikacji należy zawsze określić atrybut w provider
elemecieapplicationName
, aby skonfigurować AuthorizationStoreRoleProvider wystąpienie.
Przestroga
Ponieważ pojedyncze domyślne wystąpienie dostawcy ról 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ątkiem 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ą pojedynczego użytkownika, a nie aplikacją internetową.