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
Este tema aún no ha recibido ninguna valoración - Valorar este tema

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.Object
  System.Configuration.Provider.ProviderBase
    System.Web.Security.RoleProvider
      System.Web.Security.AuthorizationStoreRoleProvider

Espacio de nombres:  System.Web.Security
Ensamblado:  System.Web (en System.Web.dll)
public class AuthorizationStoreRoleProvider : RoleProvider

El tipo AuthorizationStoreRoleProvider expone los siguientes miembros.

  Nombre Descripción
Método público AuthorizationStoreRoleProvider Inicializa una nueva instancia de la clase AuthorizationStoreRoleProvider.
Arriba
  Nombre Descripción
Propiedad pública 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).
Propiedad pública CacheRefreshInterval Obtiene el número de minutos entre las actualizaciones de la caché de los datos del almacén de directivas.
Propiedad pública 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).
Propiedad pública Name Obtiene el nombre descriptivo utilizado para hacer referencia al proveedor durante la configuración. (Se hereda de ProviderBase).
Propiedad pública ScopeName Obtiene o establece el nombre de ámbito para el almacén de autorizaciones.
Arriba
  Nombre Descripción
Método público AddUsersToRoles Agrega los nombres de usuario especificados a cada una de las funciones especificadas. (Invalida a RoleProvider.AddUsersToRoles(String[], String[])).
Método público CreateRole Agrega una nueva función al almacén de directivas del administrador de autorizaciones de la función. (Invalida a RoleProvider.CreateRole(String)).
Método público DeleteRole Quita una función del almacén de directivas del administrador de autorizaciones. (Invalida a RoleProvider.DeleteRole(String, Boolean)).
Método público Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido 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).
Método público FindUsersInRole Este método no lo admite el proveedor de funciones del almacén de autorizaciones. (Invalida a RoleProvider.FindUsersInRole(String, String)).
Método público GetAllRoles Obtiene una lista de todas las funciones de la aplicación. (Invalida a RoleProvider.GetAllRoles()).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetRolesForUser Obtiene una lista de las funciones en que está incluido un usuario. (Invalida a RoleProvider.GetRolesForUser(String)).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público GetUsersInRole Obtiene una lista de usuarios incluidos en la función especificada. (Invalida a RoleProvider.GetUsersInRole(String)).
Método público 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)).
Método público IsUserInRole Obtiene un valor que indica si el usuario especificado está incluido en la función especificada. (Invalida a RoleProvider.IsUserInRole(String, String)).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público RemoveUsersFromRoles Quita los nombres de usuario especificados de las funciones especificadas. (Invalida a RoleProvider.RemoveUsersFromRoles(String[], String[])).
Método público 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)).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Arriba

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 de seguridadNota 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 de seguridadNota 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>

.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0

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.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar