これは、ある種の2つの部分からなる質問です。
本番(ライブ)ホスティングアーキテクチャの新しい部分をセットアップしようとしているので、ステージングWebサーバーを新しい本番コンテンツ共有(同じサブネット内の別のサーバー上のUNCパス)にポイントしようとしています。
現在、恐ろしいPolicyExceptionが発生しています:必要な権限を取得できませんというメッセージが表示されます。
- ユーザーコンテキストには、コンテンツ共有の全階層に対する変更権限があります。
- 私はWeb.configに追加
<trust level="Full" originUrl="" />
しました(そして、それはすでにそうであったと確信しています、ayway) - 私は走りました
caspol
—以下を見てください - AppPool設定を確認しました— IDが適切なユーザー名に設定され、ユーザープロファイルの読み込みがTrueに設定されています
- コンテンツ共有とIISサイトを設定したばかりなので、ユーザー名とパスワードがすべて同期していることがわかります(そして再確認しました)。
さらに紛らわしいのは、文句を言っているアセンブリが内部コードライブラリの1つであるということです。ILSpyで逆コンパイルすると、
[assembly: SecurityPermission(SecurityAction.RequestMinimum,
SkipVerification = true)]
ただし、そのアセンブリにコードアクセスセキュリティを追加したことを覚えていません。参照するクラスには宣言型のものはなく、 AllowPartiallyTrustedCallersAttributeまたはCodeAccessPermission.AssertSecurity
への参照もありません。
関係するすべてのサーバー(Webサーバーとコンテンツ共有を保持しているサーバーの両方)への完全な管理アクセス権があります。
では、どうすればこの問題を解決できますか?
(そして、質問#1846816を、説明のつかないタイトルとGoogleでのヒット数が多すぎる無数の質問を読むのではなく、考えられるすべての回答を含むコミュニティWikiに変えることができますか?; o)
編集:からの(編集された)出力caspol -a -lg
は次のとおりです。
Microsoft (R) .NET Framework CasPol 2.0.50727.4016
Copyright (c) Microsoft Corporation. All rights reserved.
Security is ON
Execution checking is ON
Policy change prompt is OFF
Level = Enterprise
Code Groups:
1. All code: FullTrust
Level = Machine
Code Groups:
1. All code: Nothing
1.1. Zone - MyComputer: FullTrust
1.1.1. StrongName - [snip]: FullTrust
1.1.2. StrongName - [snip]: FullTrust
1.2. Zone - Intranet: LocalIntranet
1.2.1. All code: Same site Web
1.2.2. All code: Same directory FileIO - 'Read, PathDiscovery'
1.2.3. Url - file://[some other my UNC share]\*: FullTrust
1.2.4. Url - [THIS UNC SHARE]\*: FullTrust
1.2.5. Url - [some other my UNC share]:\*: FullTrust
1.2.6. Url - file://[THIS UNC SHARE]\*: FullTrust
1.3. Zone - Internet: Internet
1.3.1. All code: Same site Web
1.4. Zone - Untrusted: Nothing
1.5. Zone - Trusted: Internet
1.5.1. All code: Same site Web
Level = User
Code Groups:
1. All code: FullTrust
Success