<serviceAuthorization element (elemento serviceAuthorization> )

Especifica definições que autorizam o acesso às operações de serviço

<configuração>
   <system.serviceModel>
     <comportamentos>
       <serviceBehaviors>
         <comportamento>
           <serviceAuthorization>

Syntax

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

Atributos e elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais:

Atributos

Atributo Descrição
impersonateCallerForAllOperations Um valor booleano que especifica se todas as operações no serviço representam o autor da chamada. A predefinição é false.

Quando uma operação de serviço específica representa o autor da chamada, o contexto do thread é mudado para o contexto do autor da chamada antes de executar o serviço especificado.
principalPermissionMode Define o principal utilizado para realizar operações no servidor. Os valores incluem o seguinte:

- Nenhum
- UtilizarWindowsGroups
- UseAspNetRoles
- Personalizado

O valor predefinido é UseWindowsGroups. O valor é do tipo PrincipalPermissionMode. Para obter mais informações sobre como utilizar este atributo, veja Como: Restringir o Acesso com a Classe PrincipalPermissionAttribute.
roleProviderName Uma cadeia que especifica o nome do fornecedor de funções, que fornece informações de função para uma aplicação do Windows Communication Foundation (WCF). A predefinição é uma cadeia vazia.
ServiceAuthorizationManagerType Uma cadeia que contém o tipo do gestor de autorização do serviço. Para obter mais informações, consulte ServiceAuthorizationManager.

Elementos subordinados

Elemento Descrição
authorizationPolicies Contém uma coleção de tipos de política de autorização, que podem ser adicionados com a add palavra-chave . Cada política de autorização contém um único atributo necessário policyType que é uma cadeia. O atributo especifica uma política de autorização, que permite a transformação de um conjunto de afirmações de entrada noutro conjunto de afirmações. O controlo de acesso pode ser concedido ou negado com base nisso. Para obter mais informações, consulte AuthorizationPolicyTypeElement.

Elementos principais

Elemento Descrição
<comportamento> Contém uma coleção de definições para o comportamento de um serviço.

Observações

Esta secção contém elementos que afetam a autorização, os fornecedores de funções personalizadas e a representação.

O principalPermissionMode atributo especifica os grupos de utilizadores a utilizar ao autorizar a utilização de um método protegido. O valor predefinido é UseWindowsGroups e especifica que os grupos do Windows, como "Administradores" ou "Utilizadores", são procurados por uma identidade que tenta aceder a um recurso. Também pode especificar UseAspNetRoles a utilização de um fornecedor de função personalizado configurado no <elemento system.web> , conforme mostrado no seguinte código:

<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>

O código seguinte mostra o roleProviderName utilizado com o principalPermissionMode atributo :

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

Para obter um exemplo detalhado da utilização deste elemento de configuração, veja Autorizar o Acesso às Operações de Serviço e à Política de Autorização.

Ver também