次の方法で共有


WebPermissionAttribute.AcceptPattern プロパティ

現在の WebPermissionAttribute で受け入れられる URI を記述する正規表現パターンを取得または設定します。

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

プロパティ値

現在の WebPermissionAttribute で受け入れられる URI を記述する正規表現パターンを含む文字列。この文字列は、 System.Text.RegularExpressions.Regex コンストラクタ文字列のエンコーディング規則に従って、エスケープする必要があります。

例外

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

解説

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

使用例

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

 
<WebPermission(SecurityAction.Deny, AcceptPattern := "http://www\.contoso\.com/Private/.*")> _
  Public Shared Sub       CheckAcceptPermission(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.Accept, uriToCheck)
     permissionToCheck.Demand()
  End Sub 'CheckAcceptPermission
  
  
  Public Shared Sub demoDenySite()
     'Passes a security check.
     CheckAcceptPermission("https://www.contoso.com/Public/page.htm")
     Console.WriteLine("Public page has passed Accept permission check")
     
     Try
        'Throws a SecurityException.
        CheckAcceptPermission("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#] 
[WebPermission(SecurityAction.Deny, AcceptPattern=@"http://www\.contoso\.com/Private/.*")]

public static void CheckAcceptPermission(string uriToCheck) {

    WebPermission permissionToCheck = new WebPermission();
    permissionToCheck.AddPermission(NetworkAccess.Accept, uriToCheck);
    permissionToCheck.Demand();
}

public static void demoDenySite() {
    //Passes a security check.
    CheckAcceptPermission("https://www.contoso.com/Public/page.htm");
    Console.WriteLine("Public page has passed Accept permission check");

    try {
        //Throws a SecurityException.
        CheckAcceptPermission("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++] 
[method:WebPermission(SecurityAction::Deny, AcceptPattern=S"http://www\\.contoso\\.com/Private/.*")]
static void CheckAcceptPermission(String* uriToCheck) {
   WebPermission* permissionToCheck = new WebPermission();
   permissionToCheck->AddPermission(NetworkAccess::Accept, uriToCheck);
   permissionToCheck->Demand();
}

public:
static void demoDenySite() {
   // Passes a security check.
   CheckAcceptPermission(S"https://www.contoso.com/Public/page.htm");
   Console::WriteLine(S"Public page has passed Accept permission check");

   try {
      // Throws a SecurityException.
      CheckAcceptPermission(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 名前空間 | 正規表現言語要素