CAS をテストするために、次のコードを作成しました。
[SecurityPermission(SecurityAction.Demand,Flags=SecurityPermissionFlag.Execution)]
static void Main(string[] args)
{
Console.WriteLine("hello, world!");
}
.NET 2.0 構成では、上記のアセンブリの厳密な名前を使用してコード グループを作成し、そのグループにNothing権限セットを付与します。そのため、アセンブリは期待どおりに開始できませんでした。
しかし、次の属性を削除すると、次のことに気付きました。
[SecurityPermission(SecurityAction.Demand,Flags=SecurityPermissionFlag.Execution)]
プログラムはまだ開始できませんでした。では、属性を使用したこのいわゆる宣言型セキュリティのポイントは何でしょうか?
CAS に関するいくつかのチュートリアルを読みましたが、それらは命令型/宣言型セキュリティを使用して CAS を使用しています。しかし、上記のサンプルから、それは必要ではないようです。
命令型/宣言型セキュリティを使用せずに意図的にコードを記述し、アセンブリの証拠を提供しない場合、CAS はセキュリティ ポリシーを強制できなくなりますか?
または、CAS の使用方法を誤解していますか?
ありがとう。