Compartir a través de


AuthorizationStoreRoleProvider.ApplicationName Propiedad

Definición

Obtiene o establece el nombre de la aplicación de almacenamiento de autorizaciones para la que se va a almacenar y recuperar información de roles.

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 propiedad

String

Nombre de la aplicación de almacenamiento de autorizaciones para la que se va a almacenar y recuperar información de roles. El valor predeterminado es el valor de la propiedad ApplicationPath para la propiedad Request actual.

Excepciones

Se intentó establecer la propiedad ApplicationName en una cadena más larga de 256 caracteres.

Ejemplos

En el ejemplo siguiente se muestra el <roleManager> elemento de la system.web sección del archivo Web.config para una aplicación de ASP.NET. Especifica la instancia de la AuthorizationStoreRoleProvider aplicación y establece la ApplicationName propiedad en 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>  

Comentarios

la ApplicationName usa AuthorizationStoreRoleProvider para asociar usuarios y roles a diferentes aplicaciones del administrador de autorización, lo que permite que varias aplicaciones de ASP.NET usen el mismo almacén de directivas de authorization-manager para almacenar información de roles sin tener que entrar en conflictos entre nombres de roles duplicados. Como alternativa, varias aplicaciones de ASP.NET pueden usar el mismo almacén de directivas especificando el mismo valor en la ApplicationName propiedad . La ApplicationName propiedad se puede establecer mediante programación o se puede establecer mediante declaración en el archivo Web.config de la aplicación mediante el applicationName atributo .

Si no se especifica un valor para el applicationName atributo en el archivo Web.config, se usa el HttpRequest.ApplicationPath valor de propiedad para el objeto actual HttpContext.Request .

Nota

Los nombres de aplicación del administrador de autorización no pueden contener el carácter "/" que se incluye en la HttpRequest.ApplicationPath propiedad . Como resultado, el valor predeterminado de la ApplicationName propiedad no se puede usar como nombre de aplicación del administrador de autorización y, en el archivo Web.config de la aplicación, siempre debe especificar un applicationName atributo en el elemento para configurar AuthorizationStoreRoleProvider la provider instancia.

Precaución

Dado que una única instancia de proveedor de roles predeterminada se usa para todas las solicitudes atendidas por un HttpApplication objeto, puede tener varias solicitudes que se ejecutan simultáneamente e intentar establecer el valor de la ApplicationName propiedad. La ApplicationName propiedad no es segura para subprocesos para varias escrituras y cambiar el valor de propiedad ApplicationName puede dar lugar a un comportamiento inesperado cuando hay varios usuarios de una aplicación. Se recomienda evitar escribir código que permita a los usuarios establecer la ApplicationName propiedad a menos que sea necesario. Un ejemplo de una aplicación en la que puede ser necesario establecer la ApplicationName propiedad es una aplicación administrativa que administra los datos de rol para varias aplicaciones. Esta aplicación debe ser una aplicación de usuario único y no una aplicación web.

Se aplica a

Consulte también