次の方法で共有


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

属性と要素

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

Attributes

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

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

- None
- UseWindowsGroups
- UseAspNetRoles
- Custom

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

子要素

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

親要素

要素 Description
<振舞い> サービスの動作に関する設定のコレクションを格納します。

注釈

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

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

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

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

こちらも参照ください