Procedimiento para usar el proveedor de roles ASP.NET con un servicioHow to: Use the ASP.NET Role Provider with a Service

El proveedor de roles ASP.NET (en combinación con el proveedor de pertenencia ASP.NET) es una característica que permite a los desarrolladores ASP.NET crear sitios Web que permiten a los usuarios crear una cuenta con un sitio y se asignan roles para fines de autorización.The ASP.NET role provider (in conjunction with the ASP.NET membership provider) is a feature that enables ASP.NET developers to create Web sites that allow users to create an account with a site and to be assigned roles for authorization purposes. 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.With this feature, any user can establish an account with the site, and log in for exclusive access to the site and its services. Esto contrasta con la seguridad de Windows, que exige a los usuarios que tengan cuentas en un dominio de Windows.This is in contrast to Windows security, which requires users to have accounts in a Windows domain. 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.Instead, any user who supplies his or her credentials (the user name/password combination) can use the site and its services.

Para una aplicación de ejemplo, vea Membership and Role Provider.For a sample application, see Membership and Role Provider. Para obtener más información acerca de la característica de proveedor de pertenencia ASP.NET, vea Cómo: Usar el proveedor de pertenencia a ASP.NET.For more information about the ASP.NET membership provider feature, see How to: Use the ASP.NET Membership Provider.

La característica de proveedor de roles usa una base de datos de SQL Server para almacenar información sobre el usuario.The role provider feature uses a SQL Server database to store user information. Los desarrolladores de Windows Communication Foundation (WCF) pueden aprovecharse de estas características por motivos de seguridad.Windows Communication Foundation (WCF) developers can take advantage of these features for security purposes. Cuando se integra en una aplicación de WCF, los usuarios deben proporcionar una combinación de nombre y contraseña de usuario a la aplicación de cliente WCF.When integrated into a WCF application, users must supply a user name/password combination to the WCF client application. Para habilitar WCF usar la base de datos, debe crear una instancia de la ServiceAuthorizationBehavior clase, establezca su PrincipalPermissionMode propiedad a UseAspNetRolesy agregue la instancia a la colección de comportamientos para el ServiceHost que hospeda el servicio.To enable WCF to use the database, you must create an instance of the ServiceAuthorizationBehavior class, set its PrincipalPermissionMode property to UseAspNetRoles, and add the instance to the collection of behaviors to the ServiceHost that is hosting the service.

Para configurar el proveedor de funcionesTo configure the role provider

  1. En el archivo Web.config, bajo el <system.web> elemento, agregar un <roleManager> y establezca su enabled atributo true.In the Web.config file, under the <system.web> element, add a <roleManager> element and set its enabled attribute to true.

  2. Defina el atributo defaultProvider a SqlRoleProvider.Set the defaultProvider attribute to SqlRoleProvider.

  3. Como elemento secundario de la <roleManager> elemento, agregar un <providers> elemento.As a child to the <roleManager> element, add a <providers> element.

  4. Como elemento secundario de la <providers> elemento, agregar un <add> elemento con los siguientes atributos se establecen en los valores adecuados: name, type, connectionStringName, y applicationName, como se muestra en el ejemplo siguiente.As a child to the <providers> element, add an <add> element with the following attributes set to appropriate values: name, type, connectionStringName, and applicationName, as shown in the following example.

    <!-- 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 funcionesTo configure the service to use the role provider

  1. En el archivo Web.config, agregue un <system.serviceModel > elemento.In the Web.config file, add a <system.serviceModel> element.

  2. Agregar un <comportamientos > elemento a la <system.ServiceModel> elemento.Add a <behaviors> element to the <system.ServiceModel> element.

  3. Agregar un <serviceBehaviors > a la <behaviors> elemento.Add a <serviceBehaviors> to the <behaviors> element.

  4. Agregar un <comportamiento > y establezca el name atributo en un valor adecuado.Add a <behavior> element and set the name attribute to an appropriate value.

  5. Agregar un <serviceAuthorization > a la <behavior> elemento.Add a <serviceAuthorization> to the <behavior> element.

  6. Defina el atributo principalPermissionMode a UseAspNetRoles.Set the principalPermissionMode attribute to UseAspNetRoles.

  7. Defina el atributo roleProviderName a SqlRoleProvider.Set the roleProviderName attribute to SqlRoleProvider. En el ejemplo siguiente se muestra un fragmento de la configuración.The following example shows a fragment of the configuration.

    <behaviors>  
     <serviceBehaviors>  
      <behavior name="CalculatorServiceBehavior">  
       <serviceAuthorization principalPermissionMode ="UseAspNetRoles"  
                             roleProviderName ="SqlRoleProvider" />  
      </behavior>  
     </serviceBehaviors>  
    </behaviors>  
    

Vea tambiénSee also