Udostępnij za pośrednictwem


SqlRoleProvider.ApplicationName Właściwość

Definicja

Pobiera lub ustawia nazwę aplikacji, 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, 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ę ApplicationName ustawienia właściwości przez obiekt wywołujący, który nie ma High ASP.NET uprawnienia hostingu.

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 SqlRoleProvider i ustawia ApplicationName właściwość na MyApplication.

<roleManager defaultProvider="SqlProvider"
  enabled="true"
  cacheRolesInCookie="true"
  cookieName=".ASPROLES"
  cookieTimeout="30"
  cookiePath="/"
  cookieRequireSSL="false"
  cookieSlidingExpiration="true"
  cookieProtection="All" >
  <providers>
    <add
      name="SqlProvider"
      type="System.Web.Security.SqlRoleProvider"
      connectionStringName="SqlServices"
      applicationName="MyApplication" />
  </providers>
</roleManager>

Uwagi

Element ApplicationName jest używany przez program SqlRoleProvider do kojarzenia użytkowników i ról z różnymi aplikacjami. Dzięki temu wiele aplikacji może używać tej samej bazy danych do przechowywania informacji o użytkownikach i rolach bez wystąpienia konfliktów między zduplikowanymi nazwami użytkowników lub nazwami ról. Wiele aplikacji ASP.NET może używać tej samej bazy danych, 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 konfiguracji aplikacji sieci Web przy użyciu atrybutu applicationName .

Jeśli wartość nie zostanie określona dla atrybutu applicationName w pliku konfiguracji aplikacji sieci Web, HttpRequest.ApplicationPath zostanie użyta wartość właściwości bieżącego HttpContext.Request obiektu.

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 wielu użytkowników aplikacji. Zaleca się unikanie pisania kodu, który umożliwia użytkownikom ustawianie ApplicationName właściwości, chyba że jest to konieczne. 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ż