14

.NET 3.5から一部のASP.NETコードをアップグレードしているときに、エラーとして次のコンパイル警告を受け取りました。'System.Security.Permissions.SecurityAction.RequestMinimum'は廃止されました。

属性は、アセンブリレベルで適用されています。

[assembly: System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.RequestMinimum, Execution=true)]

また、コードはP&P Webクライアントソフトウェアファクトリー、具体的にはObjectBuilder.WCSFExtensionsライブラリを利用します。また、コードはいくつかのロールプロバイダーの実装を提供しています。

このコードは他のプロジェクトでフレームワークコードとして使用されているため、どのようなセキュリティ要求があるかを判断するのは難しいことに注意してください。


したがって、ミリオンドルの質問は次のとおりです。

「System.Security.Permissions.SecurityAction」列挙型に使用する必要がある値は何ですか?

あるいは、このセキュリティ属性を適用するためのより良いアプローチはありますか?

4

2 に答える 2

14

コンパイラの警告をすべて読みましたか、それとも含まれているリンクにアクセスしましたか? 「ネイキッド」CLR は、「レガシー モード」スイッチを切り替えない限り、.NET 4.0 で CAS 権限を制限しなくなったため、RequestMinimum の使用に代わるものはありません。アセンブリ レベルの SecurityPermissionAttribute は、変更するのではなく、削除する必要があります。

4.0 CAS の変更について、MSDN に記載されているよりも詳しい説明については、http://blogs.msdn.com/b/shawnfa/archive/2009/05/21/security-policy-in-the-v4-clr を参照してください。 aspxおよびhttp://blogs.msdn.com/b/shawnfa/archive/2010/02/24/so-is-cas-dead-in-net-4-or-what.aspx

于 2011-11-25T14:54:28.503 に答える
-2

http://msdn.microsoft.com/en-us/library/ee471421.aspx

問題は、アセンブリレベルの宣言型セキュリティが全体として廃止されたとマークされていることだと思われます。おそらく、代わりにメソッドレベルでこれを適用できますか?

于 2011-11-25T13:38:38.623 に答える