Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
AuthorizationStoreRoleProvider (Clase)
Administra el almacenamiento de la información de pertenencia de funciones para una aplicación ASP.NET en un almacén de directivas del administrador de autorizaciones, o en un archivo XML, en un Active Directory, o en un servidor de modo de aplicaciones Active Directory.
System.Configuration.Provider.ProviderBase
System.Web.Security.RoleProvider
System.Web.Security.AuthorizationStoreRoleProvider
Ensamblado: System.Web (en System.Web.dll)
El tipo AuthorizationStoreRoleProvider expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
AuthorizationStoreRoleProvider | Inicializa una nueva instancia de la clase AuthorizationStoreRoleProvider. |
| Nombre | Descripción | |
|---|---|---|
|
ApplicationName | 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 funciones. (Invalida a RoleProvider.ApplicationName). |
|
CacheRefreshInterval | Obtiene el número de minutos entre las actualizaciones de la caché de los datos del almacén de directivas. |
|
Description | Obtiene una descripción breve y fácil de comprender apropiada para mostrarla en las herramientas administrativas u otras interfaces de usuario. (Se hereda de ProviderBase). |
|
Name | Obtiene el nombre descriptivo utilizado para hacer referencia al proveedor durante la configuración. (Se hereda de ProviderBase). |
|
ScopeName | Obtiene o establece el nombre de ámbito para el almacén de autorizaciones. |
| Nombre | Descripción | |
|---|---|---|
|
AddUsersToRoles | Agrega los nombres de usuario especificados a cada una de las funciones especificadas. (Invalida a RoleProvider.AddUsersToRoles(String[], String[])). |
|
CreateRole | Agrega una nueva función al almacén de directivas del administrador de autorizaciones de la función. (Invalida a RoleProvider.CreateRole(String)). |
|
DeleteRole | Quita una función del almacén de directivas del administrador de autorizaciones. (Invalida a RoleProvider.DeleteRole(String, Boolean)). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
FindUsersInRole | Este método no lo admite el proveedor de funciones del almacén de autorizaciones. (Invalida a RoleProvider.FindUsersInRole(String, String)). |
|
GetAllRoles | Obtiene una lista de todas las funciones de la aplicación. (Invalida a RoleProvider.GetAllRoles()). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetRolesForUser | Obtiene una lista de las funciones en que está incluido un usuario. (Invalida a RoleProvider.GetRolesForUser(String)). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
GetUsersInRole | Obtiene una lista de usuarios incluidos en la función especificada. (Invalida a RoleProvider.GetUsersInRole(String)). |
|
Initialize | Inicializa el proveedor de funciones del administrador de autorizaciones con los valores de propiedades especificados en el archivo de configuración de la aplicación ASP.NET. Este método no está pensado para utilizarlo directamente desde el código. (Invalida a ProviderBase.Initialize(String, NameValueCollection)). |
|
IsUserInRole | Obtiene un valor que indica si el usuario especificado está incluido en la función especificada. (Invalida a RoleProvider.IsUserInRole(String, String)). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
RemoveUsersFromRoles | Quita los nombres de usuario especificados de las funciones especificadas. (Invalida a RoleProvider.RemoveUsersFromRoles(String[], String[])). |
|
RoleExists | Obtiene un valor que indica si el nombre de la función especificada ya existe en el almacén de directivas del administrador de autorizaciones. (Invalida a RoleProvider.RoleExists(String)). |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Las clases Roles y RolePrincipal utilizan esta clase para proporcionar servicios de la administración de funciones para una aplicación ASP.NET usando un almacén del administrador de autorizaciones. Puede utilizar la administración de funciones para especificar diferentes niveles de autorización para la aplicación. Se puede tener acceso al administrador de autorizaciones mediante el Microsoft Management Console.
El objeto AuthorizationStoreRoleProvider funciona tanto con la autenticación de Windows y con los modos de autenticación de formularios.
Puede configurar el objeto AuthorizationStoreRoleProvider para utilizar un archivo XML local, un Active Directory o un servidor de modo de aplicaciones Active Directory (ADAM). Al utilizar un archivo local, la cadena de conexión debería parecer como en el ejemplo siguiente.
msxml://<path to xml file>
Si el archivo local se almacena en el árbol de directorios de una aplicación Web ASP.NET, puede utilizar el carácter de tilde ("~") para indicar el directorio raíz. Por ejemplo, para indicar que el archivo local está almacenado en el directorio de datos de la aplicación Web, utilice una cadena de conexión similar a la del ejemplo siguiente.
msxml://~\App_Data\datafilename.xml
Nota sobre la seguridad |
|---|
El almacenamiento de un archivo de datos XML en el directorio de aplicación Web es una posible amenaza de seguridad. De manera predeterminada, IIS servirá los archivos de datos XML al Web. Para mejorar la seguridad al utilizar un archivo de datos local en una aplicación ASP.NET, debería almacenar el archivo de datos en el directorio App_Data. Los archivos almacenados en el directorio App_Data no se servirán al Web. |
Si está utilizando un Active Directory o servidor ADAM como almacén de las directivas, la cadena de conexión debería ser similar a la del ejemplo siguiente.
msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com
Las excepciones mostradas en la documentación para los métodos de objeto AuthorizationStoreRoleProvider son las excepciones producidas por el objeto AuthorizationStoreRoleProvider. Puesto que el proveedor depende del motor en tiempo de ejecución del administrador de autenticación subyacente, se puede producir una excepción COMException siempre que el objeto AuthorizationStoreRoleProvider reenvíe una llamada al método al motor en tiempo de ejecución del administrador de autenticación.
Nota sobre la seguridad |
|---|
El objeto AuthorizationStoreRoleProvider tiene los requisitos siguientes para ejecutarse en entornos que no son de total confianza: Al utilizar un almacén de directivas basado en archivos en una aplicación ASP.NET, los permisos de E/S del archivo concedidos por el nivel de confianza actual determinan si el proveedor permiten acciones de lectura y escritura. La aplicación ASP.NET debe tener permiso de lectura en el archivo para leer los datos del almacén de directivas y contar con permiso de escritura para guardar la nueva información o actualizar la información existente en el almacén de directivas. El archivo de directivas del nivel de confianza medio predeterminado proporciona permisos de lectura/escritura de la aplicación ASP.NET en su directorio de aplicaciones. El archivo de directivas predeterminado de confianza baja sólo proporciona un permiso de lectura de la aplicación ASP.NET en su directorio de aplicaciones. Además, la identidad del proceso en el que se ejecuta la aplicación ASP.NET deben tener los permisos del sistema de archivos para leer y/o escribir el archivo de directivas. Al utilizar Active Directory o un servidor ADAM, la aplicación ASP.NET necesita permiso de código no administrado porque el código del objeto AuthorizationStoreRoleProvider interno utiliza la interoperabilidad COM. Al utilizar el objeto AuthorizationStoreRoleProvider fuera de ASP.NET, el código de llamada necesita el permiso del código no administrado. |
El ejemplo de código siguiente muestra un conjunto de archivos Web.config que utilizan AuthorizationStoreRoleProvider para la administración de funciones.
<configuration>
<connectionStrings>
<add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />
</connectionStrings>
<system.web>
<authentication mode="Windows" />
<identity impersonate="true" />
<roleManager defaultProvider="AuthorizationStoreRoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<clear />
<add
name="AuthorizationStoreRoleProvider"
type="System.Web.Security.AuthorizationStoreRoleProvider"
connectionStringName="AuthorizationServices"
applicationName="SampleApplication"
cacheRefreshInterval="60"
scopeName="" />
</providers>
</roleManager>
</system.web>
</configuration>
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota sobre la seguridad