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
|
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.Configuration.Provider.ProviderBase
System.Web.Security.RoleProvider
System.Web.Security.SqlRoleProvider
Ensamblado: System.Web (en System.Web.dll)
El tipo SqlRoleProvider expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
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). |
|
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). |
| 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 a la base de datos de funciones. (Invalida a RoleProvider.CreateRole(String)). |
|
DeleteRole | Quita una función de la base de datos de funciones. (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 | 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)). |
|
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 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)). |
|
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 la base de datos de funciones. (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 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>
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.