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

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 <elemento roleManager> en la system.web sección del archivo Web.config para una aplicación 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

ApplicationName la usa AuthorizationStoreRoleProvider para asociar usuarios y roles a diferentes aplicaciones de administrador de autorización, lo que permite que varias aplicaciones de ASP.NET usen el mismo almacén de directivas de administrador de autorización para almacenar información de roles sin 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 del 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 se usa una única instancia de proveedor de roles predeterminada para todas las solicitudes atendidas por un HttpApplication objeto, puede tener varias solicitudes que se ejecutan simultáneamente e intentar establecer el valor de propiedad ApplicationName . La ApplicationName propiedad no es segura para subprocesos para varias escrituras y cambiar el valor de la ApplicationName propiedad 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 es posible que sea 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 un solo usuario y no una aplicación web.

Se aplica a

Consulte también