次の方法で共有


WebPermissionAttribute.ConnectPattern プロパティ

現在の WebPermissionAttribute で制御される URI 接続を記述する正規表現パターンを取得または設定します。

Public Property ConnectPattern As String
[C#]
public string ConnectPattern {get; set;}
[C++]
public: __property String* get_ConnectPattern();public: __property void set_ConnectPattern(String*);
[JScript]
public function get ConnectPattern() : String;public function set ConnectPattern(String);

プロパティ値

この WebPermissionAttribute で制御される URI 接続を記述する正規表現パターンを含む文字列。

例外

例外の種類 条件
ArgumentException 値を設定しようとしましたが、 ConnectPattern が null 参照 (Visual Basic では Nothing) ではありません。複数の Connect URI を指定する場合は、追加の属性宣言ステートメントを使用します。

解説

WebPermissionAttribute をクラスに適用するときに、このプロパティは、どの正規表現接続文字列がクラス内での使用を承認されるかを指定します。このプロパティは、一度だけ書き込むことができます。

使用例

[Visual Basic, C#, C++] WebPermissionAttribute を使用して、許容 ConnectPattern を指定する方法を次の例に示します。

 

   ' Set the WebPermissionAttribute  ConnectPattern property.
 <WebPermission(SecurityAction.Deny, ConnectPattern := "http://www\.contoso\.com/Private/.*")> _
     Public Shared Sub CheckConnectPermission(uriToCheck As String)
      Dim re As New Regex("http://www\.contoso\.com/Public/.*")
      Dim con As New WebPermission(NetworkAccess.Connect, re)
      con.Assert()
      Dim permissionToCheck As New WebPermission()
      permissionToCheck.AddPermission(NetworkAccess.Connect, uriToCheck)
      permissionToCheck.Demand()
   End Sub 'CheckConnectPermission
   
   
   Public Shared Sub demoDenySite()
      'Pass the security check.
      CheckConnectPermission("https://www.contoso.com/Public/page.htm")
      Console.WriteLine("Public page has passed Connect permission check")
      
      Try
         'Throw a SecurityException.
         CheckConnectPermission("https://www.contoso.com/Private/page.htm")
         Console.WriteLine("This line will not be printed")
      Catch e As SecurityException
         Console.WriteLine(("Expected exception" + e.Message))
      End Try
   End Sub 'demoDenySite
    
   

[C#] 

// Set the WebPermissionAttribute  ConnectPattern property.
[WebPermission(SecurityAction.Deny, ConnectPattern=@"http://www\.contoso\.com/Private/.*")]

public static void CheckConnectPermission(string uriToCheck) 
{
  WebPermission permissionToCheck = new WebPermission();
  permissionToCheck.AddPermission(NetworkAccess.Connect, uriToCheck);
  permissionToCheck.Demand();
}

public static void demoDenySite() {
  //Pass the security check.
  CheckConnectPermission("https://www.contoso.com/Public/page.htm");
  Console.WriteLine("Public page has passed Connect permission check");

  try 
  {
      //Throw a SecurityException.
      CheckConnectPermission("https://www.contoso.com/Private/page.htm");
      Console.WriteLine("This line will not be printed");
  }
  catch (SecurityException e) 
  {
      Console.WriteLine("Expected exception" + e.Message);
  }

 }


[C++] 
// Set the WebPermissionAttribute  ConnectPattern property.
[WebPermission(SecurityAction::Deny, ConnectPattern=S"http://www\\.contoso\\.com/Private/.*")]
void CheckConnectPermission(String* uriToCheck) {
   WebPermission* permissionToCheck = new WebPermission();
   permissionToCheck->AddPermission(NetworkAccess::Connect, uriToCheck);
   permissionToCheck->Demand();
}

void demoDenySite() {
   //Pass the security check.
   CheckConnectPermission(S"https://www.contoso.com/Public/page.htm");
   Console::WriteLine(S"Public page has passed Connect permission check");

   try {
      //Throw a SecurityException.
      CheckConnectPermission(S"https://www.contoso.com/Private/page.htm");
      Console::WriteLine(S"This line will not be printed");
   } catch (SecurityException* e) {
      Console::WriteLine(S"Expected exception {0}", e->Message);
   }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

WebPermissionAttribute クラス | WebPermissionAttribute メンバ | System.Net 名前空間 | 正規表現言語要素