AuthorizationStoreRoleProvider.ApplicationName Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.