2010-11-26 11 views
0

CAS特権を1つの特定のドメインに制限しようとしています。私は属性の構文を使用してアセンブリレベルでこれをやっています。このアセンブリはローカルマシン上で実行されるため、OSはアセンブリに完全な信頼を与えていますが、私は次のものが爆弾になることを期待しています。アセンブリ宣言型セキュリティ - 要求オプション

なぜGoogleに接続すると例外がスローされないのですか?次に例を示します。

[assembly: WebPermission(SecurityAction.RequestOptional, ConnectPattern = @"http://msdn\.microsoft\.com/.*")] 
class Program 
{ 
    private static WebClient client = new WebClient(); 

    static void Main(string[] args) 
    { 
     try 
     { 
      PermissionSet permSet = new PermissionSet(PermissionState.None); 
      permSet.AddPermission(new FileIOPermission(FileIOPermissionAccess.Write, Environment.CurrentDirectory)); 
      permSet.Demand(); 

      //client.DownloadFile(@"http://msdn.microsoft.com/en-us/library/ms247123(VS.80).aspx", @"ms247123(VS.80).aspx"); 
      client.DownloadFile(@"http://www.google.com", @"goole.htm"); 
     } 

     catch 
     { 
      Console.WriteLine("Insuffcient Privaleges"); 
     } 


    } 
} 

アセンブリのCAS宣言に注意してください。 WebPermissionsをこのパターンに一致するドメインのみに制限しようとしていますhttp://msdn .microsoft.com /.*

何が間違っていますか?

ありがとうございます!

答えて