Compartir a través de


<serviceAuthorization> (elemento)

Especifica valores que autorizan que el acceso repare las operaciones

<<system.serviceModel>>
  <comportamientos>
    <serviceBehaviors>
      Elemento <behavior> de <serviceBehaviors>
        <serviceAuthorization> (elemento)

<serviceAuthorization
     impersonateCallerForAllOperations="Boolean"
      principalPermissionMode="None/UseWindowsGroups/UseAspNetRoles/Custom"
      roleProviderName="String"
      serviceAuthorizationManagerType="String" />
      <authorizationPolicies>
         <add policyType="String" />
      </authorizationPolicies>
</serviceAuthorization>

Atributos y elementos

Atributos

Atributo Descripción

impersonateCallerForAllOperations

Un valor booleano que especifica si todas las operaciones en el servicio suplantan al autor de la llamada. El valor predeterminado es false.

Cuando una operación de servicio concreta suplanta al llamador, el contexto del subproceso se intercambia al contexto del llamador antes de ejecutar el servicio especificado.

principalPermissionMode

Establece el nombre principal usado para llevar a cabo las operaciones en el servidor. Los valores son los siguientes:

  • None
  • UseWindowsGroups
  • UseAspNetRoles
  • Custom

El valor predeterminado es UseWindowsGroups. El valor es del tipo PrincipalPermissionMode. Para obtener más información sobre cómo usar este atributo, vea How To: Restrict Access With the PrincipalPermissionAttribute.

roleProviderName

Una cadena que especifica el nombre del proveedor de funciones, que proporciona información de funciones para una aplicación Windows Communication Foundation (WCF). El valor predeterminado es una cadena vacía.

ServiceAuthorizationManagerType

Una cadena que contiene el tipo de administrador de autorización de servicio. Para obtener más información, vea ServiceAuthorizationManager.

Elementos secundarios

Elemento Descripción

authorizationPolicies

Contiene una colección de tipos de directiva de autorización, que se pueden agregar utilizando la palabra clave add. Cada directiva de autorización contiene un atributo policyType necesario único que es una cadena. El atributo especifica una directiva de autorización que permite la transformación de un conjunto de demandas de entrada en otro conjunto de demandas. Se puede permitir o denegar el acceso en base a eso. Para obtener más información, vea AuthorizationPolicyTypeElement.

Elementos primarios

Elemento Descripción

<behavior> de <endpointBehaviors>

Contiene una colección de valores para el comportamiento de un servicio.

Comentarios

Esta sección contiene elementos que afectan a la autorización, a los proveedores de funciones personalizados y a la suplantación.

El atributo principalPermissionMode especifica los grupos de usuarios que se han de utilizar al autorizar el uso de un método protegido. El valor predeterminado es UseWindowsGroups y especifica que en los grupos de Windows, como "Administradores" o "Usuarios", se busca una identidad que intente obtener acceso a un recurso. También puede especificar UseAspNetRoles para utilizar un proveedor de funciones personalizadas que se configura bajo el elemento <system.web>, como se muestra en el código siguiente.

<system.web>
  <membership defaultProvider="SqlProvider" 
   userIsOnlineTimeWindow="15">
     <providers>
       <clear />
       <add 
          name="SqlProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="SqlConn"
          applicationName="MembershipProvider"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
     </providers>
   </membership>
  <!-- Other configuration code not shown.-->
</system.web>

El ejemplo de código siguiente muestra el roleProviderName utilizado con el atributo principalPermissionMode.

<behaviors>
   <behavior name="ServiceBehaviour">
     <serviceAuthorization principalPermissionMode ="UseAspNetRoles" 
                           roleProviderName ="SqlProvider" />
   </behavior> 
<!-- Other configuration code not shown. -->
</behaviors>

Para obtener un ejemplo detallado de utilizar este elemento de configuración, vea Authorizing Access to Service Operations y Authorization Policy.

Consulte también

Referencia

ServiceAuthorizationElement
ServiceAuthorizationBehavior

Otros recursos

Security Behaviors in WCF
Authorizing Access to Service Operations
How To: Create a Custom AuthorizationManager for a Service
How To: Restrict Access With the PrincipalPermissionAttribute
Authorization Policy