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

SqlRoleProvider (Clase)

Administra el almacenamiento de la información de pertenencia a funciones para una aplicación ASP.NET en una base de datos de SQL Server.

System.Object
  System.Configuration.Provider.ProviderBase
    System.Web.Security.RoleProvider
      System.Web.Security.SqlRoleProvider

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

El tipo SqlRoleProvider expone los siguientes miembros.

  Nombre Descripción
Método público SqlRoleProvider Cree una instancia de la clase SqlRoleProvider.
Arriba
  Nombre Descripción
Propiedad pública ApplicationName Obtiene o establece el nombre de la aplicación para la que se va a almacenar y recuperar información de funciones. (Invalida a RoleProvider.ApplicationName).
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).
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 a la base de datos de funciones. (Invalida a RoleProvider.CreateRole(String)).
Método público DeleteRole Quita una función de la base de datos de funciones. (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 Obtiene una matriz de nombres de usuario en una función donde el nombre de usuario contiene el nombre de usuario especificado para la búsqueda. (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 de SQL Server 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 la base de datos de funciones. (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 una base de datos de SQL Server. Puede utilizar la administración de funciones para especificar diferentes niveles de autorización para la aplicación.

Para utilizar la clase SqlRoleProvider, primero debe crear la base de datos de SQL Server utilizada por SqlRoleProvider. Para crear la base de datos utilizada por la clase SqlRoleProvider, ejecute el archivo ejecutable aspnet_regsql.exe que se encuentra en la carpeta C:\WINDOWS\Microsoft.NET\Framework\ versionNumber y especifique la opción -Ar (por ejemplo, aspnet_regsql.exe -Ar). La base de datos creada se llama Aspnetdb. También puede ejecutar aspnet_regsql.exe para extraer el modo de configuración GUI y decidir la configuración de todas las características de ASP.NET.

Si el proveedor de funciones se configura con una cadena de conexión que utiliza la seguridad integrada, la cuenta de proceso de la aplicación ASP.NET debe tener derechos para conectarse a la base de datos de SQL Server.

El archivo Machine.config se configura con una instancia de SqlRoleProvider denominada AspNetSqlProvider, que establece conexión con SQL Server en el equipo local. Puede utilizar esta instancia del proveedor o especificar una propia en el archivo Web.config para la aplicación ASP.NET. Para utilizar la instancia de AspNetSqlProvider, especifique AspNetSqlProvider como defaultProvider en la configuración de roleManager.

Puede configurar el objeto SqlRoleProvider para que utilice la misma base de datos y la misma información de usuario que el objeto SqlMembershipProvider, con el fin de utilizar una base de datos única para la información de autenticación y autorización. Para utilizar la misma base de datos para la información de pertenencia y la información de funciones, ejecute el archivo ejecutable aspnet_regsql.exe e instale la característica de pertenencia. A continuación, especifique la misma cadena de conexión en la configuración de las instancias de SqlRoleProvider y SqlMembershipProvider. Asegúrese también de que ambas instancias del proveedor estén configuradas con el mismo valor de ApplicationName.

En el ejemplo siguiente se muestra el archivo Web.config de una aplicación ASP.NET configurada para utilizar un objeto SqlRoleProvider y la clase SqlMembershipProvider. El elemento de autorización está configurado para permitir el acceso sólo a los usuarios autenticados de la función Administradores.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="logincs.aspx"
      name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
         <allow roles="Administrators" />
         <deny users="*" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <add 
          name="SqlProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false" 
          passwordFormat="Hashed" 
          applicationName="SampleApplication" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlProvider" 
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="true"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices" 
          applicationName="SampleApplication" />
      </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