AuthorizationStoreRoleProvider.ApplicationName Właściwość

Definicja

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

String

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ą.

Dotyczy

Zobacz też