Cómo: Utilizar el proveedor de funciones ASP.NET con un servicio
El proveedor de funciones ASP.NET (junto con el proveedor de pertenencia ASP.NET ) es una característica que permite a los programadores ASP.NET crear sitios Web que permitan a los usuarios crear una cuenta con un sitio y asignar funciones para los propósitos de la autorización. Con esta característica, cualquier usuario puede establecer una cuenta con el sitio e iniciar sesión para el acceso exclusivo al sitio y sus servicios. Esto contrasta con la seguridad de Windows, que exige a los usuarios que tengan cuentas en un dominio de Windows. En su lugar, cualquier usuario que proporcione sus credenciales (la combinación de nombre de usuario/contraseña) puede utilizar el sitio y sus servicios.
Para una aplicación de ejemplo, vea Membership and Role Provider. ParaPara obtener más información acerca de la ASP.NET característica de proveedor de pertenencia, vea Cómo: Utilizar el proveedor de suscripciones de ASP.NET.
La característica de proveedor de funciones utiliza una base de datos de SQL Server para almacenar información sobre el usuario. Los programadores Windows Communication Foundation (WCF) pueden aprovecharse de estas características para los propósitos de seguridad. Cuando se integra en una aplicación WCF, los usuarios deben proporcionar una combinación de nombre de usuario/contraseña a la aplicación cliente WCF. Para permitir WCF utilizar la base de datos, debe crear una instancia de la clase ServiceAuthorizationBehavior, establecer su propiedad PrincipalPermissionMode en UseAspNetRolesy agregar la instancia a la colección de comportamientos de ServiceHost que hospeda el servicio.
Para configurar el proveedor de funciones
En el archivo Web.config file, en el elemento <system.web> agregue un elemento <roleManager> y establezca su atributo enabled en true.
Defina el atributo defaultProvider a SqlRoleProvider.
Agregue un elemento secundario al elemento <roleManager>, agregue un elemento <providers>.
Como un elemento secundario del elemento <providers>, agregue un elemento <add> con los atributos siguientes establecidos en los valores adecuados: name, type, connectionStringNamey applicationName, como se muestra en el ejemplo siguiente.
<!-- Configure the Sql Role Provider. --> <roleManager enabled ="true" defaultProvider ="SqlRoleProvider" > <providers> <add name ="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlConn" applicationName="MembershipAndRoleProviderSample"/> </providers> </roleManager>
Para configurar el servicio para utilizar el proveedor de funciones
En el archivo Web.config, agregue un elemento <system.ServiceModel>.
Agregue un elemento <behaviors> al elemento <system.ServiceModel>.
Agregue serviceBehaviors section al elemento <behaviors>.
Agregue un elemento Behavior element y defina el atributo name en un valor adecuado.
Agregue <serviceAuthorization> element al elemento <behavior>.
Defina el atributo principalPermissionMode a UseAspNetRoles.
Defina el atributo roleProviderName a SqlRoleProvider. En el ejemplo siguiente se muestra un fragmento de la configuración.
<behaviors> <serviceBehaviors> <behavior name="CalculatorServiceBehavior"> <serviceAuthorization principalPermissionMode ="UseAspNetRoles" roleProviderName ="SqlRoleProvider" /> </behavior> </serviceBehaviors> </behaviors>
Consulte también
Tareas
Cómo: Utilizar el proveedor de suscripciones de ASP.NET