サービス操作へのアクセスを承認する設定を指定します
<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>
この構成要素の使用の詳細な例については、「サービス操作と承認ポリシーへのアクセスの承認」を参照してください。
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET