Compartilhar via


AuthorizationStoreRoleProvider.ApplicationName Propriedade

Definição

Obtém ou define o nome do aplicativo de repositório de autorização para o qual armazenar e recuperar informações de função.

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

Valor da propriedade

O nome do aplicativo do repositório de autorização para o qual armazenar e recuperar informações de função. O padrão é o valor da ApplicationPath propriedade para o atual Request.

Exceções

Foi feita uma tentativa de definir o ApplicationName como uma cadeia de caracteres maior do que 256 caracteres.

Exemplos

O exemplo a seguir mostra o <elemento roleManager> na system.web seção do arquivo Web.config para um aplicativo ASP.NET. Ele especifica a instância do AuthorizationStoreRoleProvider aplicativo e define a ApplicationName propriedade como 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>

Comentários

O ApplicationName é usado pelo AuthorizationStoreRoleProvider para associar usuários e funções a diferentes aplicativos do gerenciador de autorização, o que permite que vários aplicativos ASP.NET usem o mesmo repositório de políticas do gerenciador de autorização para armazenar informações de função sem entrar em conflitos entre nomes de função duplicados. Como alternativa, vários aplicativos ASP.NET podem usar o mesmo repositório de políticas especificando o mesmo valor na ApplicationName propriedade . A ApplicationName propriedade pode ser definida programaticamente ou pode ser definida declarativamente no arquivo Web.config do aplicativo usando o applicationName atributo .

Se um valor não for especificado para o applicationName atributo no arquivo Web.config, o valor da HttpRequest.ApplicationPath propriedade do objeto atual HttpContext.Request será usado.

Observação

Os nomes de aplicativo do gerenciador de autorização não podem conter o caractere "/" incluído na HttpRequest.ApplicationPath propriedade . Como resultado, o valor padrão da ApplicationName propriedade não pode ser usado como um nome de aplicativo do gerenciador de autorização e, no arquivo Web.config do aplicativo, você sempre deve especificar um applicationName atributo no provider elemento para configurar sua AuthorizationStoreRoleProvider instância.

Cuidado

Como uma única instância de provedor de função padrão é usada para todas as solicitações atendidas por um HttpApplication objeto , você pode ter várias solicitações em execução simultaneamente e tentando definir o valor da ApplicationName propriedade. A ApplicationName propriedade não é thread-safe para várias gravações e alterar o valor da ApplicationName propriedade pode resultar em um comportamento inesperado quando há vários usuários de um aplicativo. Recomendamos que você evite escrever código que permita que os usuários definam a ApplicationName propriedade, a menos que seja necessário. Um exemplo de um aplicativo em que a definição da ApplicationName propriedade pode ser necessária é um aplicativo administrativo que gerencia dados de função para vários aplicativos. Esse aplicativo deve ser um aplicativo de usuário único e não um aplicativo Web.

Aplica-se a

Confira também