<serviceAuthorization> 要素

サービス操作へのアクセスを許可する設定を指定します。

configuration
  system.serviceModel
    behaviors
      <serviceBehaviors>
        behavior
          <serviceAuthorization>

構文

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

属性と要素

以降のセクションでは、属性、子要素、親要素について説明します。

属性

属性 説明
impersonateCallerForAllOperations サービスのすべての操作が呼び出し元を偽装するかどうかを指定するブール値。 既定値は、false です。

特定のサービス操作が呼び出し元を偽装する場合、スレッド コンテキストは、指定されたサービスを実行する前に呼び出し元のコンテキストに切り替えられます。
principalPermissionMode サーバーでの操作を実行するために使用されるプリンシパルを設定します。 次の値があります。

- None
- UseWindowsGroups
- UseAspNetRoles
- Custom

既定値は UseWindowsGroups です。 値は、PrincipalPermissionMode 型です。 この属性の使用の詳細については、「方法: PrincipalPermissionAttribute クラスでアクセスを制限する」を参照してください。
roleProviderName Windows Communication Foundation (WCF) アプリケーションにロール情報を提供するロール プロバイダーの名前を指定する文字列。 既定値は空の文字列です。
ServiceAuthorizationManagerType サービス承認マネージャーの型を含む文字列。 詳細については、「ServiceAuthorizationManager」を参照してください。

子要素

要素 説明
authorizationPolicies add キーワードを使用して追加できる承認ポリシーの種類のコレクションを含みます。 各承認ポリシーは、文字列の単一の必須属性 policyType を含みます。 この属性は、入力クレームのセットをクレームの別のセットに変換することを可能にする承認ポリシーを指定します。 アクセス制御は、それに基づいて許可または拒否されます。 詳細については、「AuthorizationPolicyTypeElement」を参照してください。

親要素

要素 説明
<behavior> サービスの動作設定のコレクションが含まれています。

解説

このセクションには、承認、カスタム ロール プロバイダー、および偽装に影響する要素が含まれています。

principalPermissionMode 属性は、保護メソッドの使用を承認するときに使用するユーザー グループを指定します。 既定値は UseWindowsGroups で、リソースにアクセスしようとしている ID を、"Administrators" や "Users" などの Windows グループから検索するように指定します。 UseAspNetRoles を指定すると、次のコードに示すように、<system.web> 要素の下で構成されるカスタム ロール プロバイダーを使用することもできます。

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

principalPermissionMode 属性で roleProviderName を使用する方法を次のコードに示します。

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

この構成要素の使用例については、「サービス操作へのアクセスの承認」と「承認ポリシー」を参照してください。

関連項目