Udostępnij za pośrednictwem


AuthorizationStoreRoleProvider.ApplicationName Właściwość

Definicja

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

Dotyczy

Zobacz też