場合によっては、アセンブリが不適切なコード グループに属しているか、適切なコード グループに属していないために、意図しないセキュリティ設定が適用されていることがあります。 コード グループがポリシー レベルに追加されたり、ポリシー レベルから削除されたりすると、このような副作用が発生する可能性があります。 この問題をポリシー レベルのコード グループ階層構造から簡単に見つけるには、コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用して、アセンブリが属しているすべてのコード グループを一覧表示します。
アセンブリには、各ポリシー レベルで一連のアクセス許可が与えられます。 セキュリティ ポリシーによってコードに与えられる有効なアクセス許可セットは、マシン ポリシーとユーザー ポリシーによって与えられるアクセス許可セットの積集合になります。 Caspol.exe を使用すると、特定のポリシー レベルでアセンブリに与えられるアクセス許可セットを表示できます。 Caspol.exe では、マシン ポリシーとユーザー ポリシーによって与えられるアクセス許可セットの積集合を求め、結果として得られたアクセス許可セットを表示することもできます。
アセンブリが属しているコード グループを一覧表示するには
コマンド プロンプトに次のコマンドを入力します。
caspol [-enterprise|-machine|-user|-all] –resolvegroup assembly-file
ポリシー レベル オプションは –resolvegroup オプションの前に指定します。 ポリシー レベル オプションを省略すると、Caspol.exe はすべてのポリシー レベルを表示します。
MyAssembly.dll が属するユーザー ポリシー レベルのコード グループを一覧表示するコマンドを次に示します。
caspol –user –resolvegroup MyAssembly.dll
アセンブリのアクセス許可セットを一覧表示するには
コマンド プロンプトに次のコマンドを入力します。
caspol [-enterprise|-machine|-user|-all] –resolveperm assembly-file
ポリシー レベル オプションは –resolveperm オプションの前に指定します。 ポリシー レベル オプションを省略すると、Caspol.exe は、すべてのポリシー レベルの積集合を表示します。
ユーザー ポリシー レベルで MyApplication.exe に適用されるアクセス許可を一覧表示するコマンドを次に示します。
caspol –user –resolveperm MyApplication.exe
参照
参照
Caspol.exe (コード アクセス セキュリティ ポリシー ツール)