Comparteix a través de


SqlRoleProvider Clase

Definición

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

public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
    inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
Herencia
SqlRoleProvider

Ejemplos

En el ejemplo siguiente se muestra el archivo Web.config para una aplicación de ASP.NET configurada para usar un SqlRoleProvider objeto y .SqlMembershipProvider El authorization elemento está configurado para permitir el acceso solo a los usuarios autenticados en el rol 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>

Comentarios

Las clases y RolePrincipal usan Roles esta clase para proporcionar servicios de administración de roles para una aplicación de ASP.NET mediante una base de datos de SQL Server. Puede usar la administración de roles para especificar distintos niveles de autorización para la aplicación.

Para usar la SqlRoleProvider clase , primero debe crear la base de datos de SQL Server usada por .SqlRoleProvider Para crear la base de datos usada por la SqlRoleProvider clase , ejecute el aspnet_regsql.exe ejecutable que se encuentra en la carpeta C:\WINDOWS\Microsoft.NET\Framework\ versionNumber y especifique la -Ar opción (por ejemplo, aspnet_regsql.exe -Ar). La base de datos creada se denomina Aspnetdb. Como alternativa, ejecute aspnet_regsql.exe para extraer el modo de configuración de la GUI y elija configurar todas las características de ASP.NET.

Si el proveedor de roles está configurado con una cadena de conexión que usa 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 SqlRoleProvider instancia denominada AspNetSqlProvider que se conecta a SQL Server en el equipo local. Puede usar esta instancia del proveedor o especificar la suya propia en el archivo Web.config para la aplicación de ASP.NET. Para usar la instancia de AspNetSqlProvider, especifique AspNetSqlProvider como en la defaultProvider configuración.

Puede configurar para SqlRoleProvider usar la misma información de base de datos y usuario que para SqlMembershipProvider usar una base de datos única para la información de autenticación y autorización. Para usar la misma base de datos para la información de pertenencia y rol, 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 para SqlRoleProvider las instancias y SqlMembershipProvider . Asegúrese también de que ambas instancias de proveedor estén configuradas con el mismo ApplicationName.

Constructores

SqlRoleProvider()

Crea una instancia de la clase SqlRoleProvider.

Propiedades

ApplicationName

Obtiene o establece el nombre de la aplicación para la que se va a almacenar y recuperar información de roles.

Description

Obtiene una descripción breve y fácil de comprender apropiada para mostrarla en las herramientas administrativas u otras interfaces de usuario.

(Heredado de ProviderBase)
Name

Obtiene el nombre descriptivo utilizado para hacer referencia al proveedor durante la configuración.

(Heredado de ProviderBase)

Métodos

AddUsersToRoles(String[], String[])

Agrega los nombres de usuario especificados a cada una de los roles especificados.

CreateRole(String)

Agrega una nuevo rol a la base de datos de roles.

DeleteRole(String, Boolean)

Quita un rol de la base de datos de roles.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
FindUsersInRole(String, String)

Obtiene una matriz de los nombres de usuario de un rol que contengan un nombre de usuario determinado que debe coincidir.

GetAllRoles()

Obtiene una lista de todas los roles de la aplicación.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetRolesForUser(String)

Obtiene una lista de los roles en que está incluido un usuario.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetUsersInRole(String)

Obtiene una lista de usuarios incluidos en el rol especificado.

Initialize(String, NameValueCollection)

Inicializa el proveedor de roles 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 usarse directamente desde su código.

IsUserInRole(String, String)

Obtiene un valor que indica si el usuario especificado está incluido en el rol especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
RemoveUsersFromRoles(String[], String[])

Quita los nombres de usuario especificados de los roles especificados.

RoleExists(String)

Obtiene un valor que indica si el nombre del rol especificado ya existe en la base de datos de roles.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también