AuthorizationStoreRoleProvider.ApplicationName Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o nome da aplicação de armazenamento de autorização para a qual armazenar e recuperar informações de funções.
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 de Propriedade
O nome da aplicação de armazenamento de autorização para a qual armazenar e recuperar informações de funções. O valor padrão é o ApplicationPath valor da propriedade para o atual Request.
Exceções
Foi feita uma tentativa de definir o ApplicationName para uma cadeia com mais de 256 caracteres.
Exemplos
O exemplo seguinte mostra o elemento <roleManager> na secção system.web do ficheiro de Web.config para uma aplicação ASP.NET. Especifica a instância da AuthorizationStoreRoleProvider aplicação e define a ApplicationName propriedade para 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>
Observações
O ApplicationName é usado pelo AuthorizationStoreRoleProvider para associar utilizadores e papéis a diferentes aplicações de gestão de autorizações, o que permite que múltiplas aplicações ASP.NET usem o mesmo stock de políticas de gestor de autorizações para armazenar informação de papéis sem conflitos entre nomes duplicados de papéis. Alternativamente, múltiplas aplicações ASP.NET podem usar o mesmo stock de políticas especificando o mesmo valor na propriedade ApplicationName. A ApplicationName propriedade pode ser definida programaticamente, ou pode ser definida declarativamente no ficheiro Web.config da aplicação usando o applicationName atributo.
Se um valor não for especificado para o applicationName atributo no ficheiro Web.config, então o HttpRequest.ApplicationPath valor da propriedade para o objeto atual HttpContext.Request é utilizado.
Note
Os nomes das aplicações do gestor de autorizações não podem conter o carácter "/" que está incluído na HttpRequest.ApplicationPath propriedade. Como resultado, o valor padrão da ApplicationName propriedade não pode ser usado como nome de aplicação de gestor de autorização e, no ficheiro Web.config da aplicação, deve sempre especificar um applicationName atributo no provider elemento para configurar a sua AuthorizationStoreRoleProvider instância.
Atenção
Como uma única instância padrão de fornecedor de papel é usada para todos os pedidos servidos por um HttpApplication objeto, pode ter múltiplos pedidos a executar-se simultaneamente e a tentar definir o valor da ApplicationName propriedade. A ApplicationName propriedade não é segura contra threads para múltiplas escritas, e alterar o valor da ApplicationName propriedade pode resultar em comportamentos inesperados quando há múltiplos utilizadores de uma aplicação. Recomendamos que evite escrever código que permita aos utilizadores definir a ApplicationName propriedade, a menos que seja necessário. Um exemplo de uma aplicação onde pode ser necessário definir a ApplicationName propriedade é uma aplicação administrativa que gere dados de funções para múltiplas aplicações. Tal aplicação deveria ser uma aplicação de utilizador único e não uma aplicação Web.