WebPermissionAttribute.ConnectPattern Proprietà

Definizione

Recupera o imposta un modello di espressione regolare che descrive la connessione all'URI controllata dal WebPermissionAttribute corrente.

public:
 property System::String ^ ConnectPattern { System::String ^ get(); void set(System::String ^ value); };
public string ConnectPattern { get; set; }
member this.ConnectPattern : string with get, set
Public Property ConnectPattern As String

Valore della proprietà

Una stringa che contiene un modello di espressione regolare che descrive la connessione all'URI controllata da questo WebPermissionAttribute.

Eccezioni

La proprietà ConnectPattern non è null quando si tenta di impostare il valore. Se si desidera specificare più di un metodo di connessione all'URI, utilizzare un'ulteriore istruzione di dichiarazione dell'attributo.

Esempio

Nell'esempio seguente viene illustrato come usare WebPermissionAttribute per specificare un oggetto consentito ConnectPattern.

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

   static void CheckConnectPermission( String^ uriToCheck )
   {
      WebPermission^ permissionToCheck = gcnew WebPermission;
      permissionToCheck->AddPermission( NetworkAccess::Connect, uriToCheck );
      permissionToCheck->Demand();
   }

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

      try
      {
         //Throw a SecurityException.
         CheckConnectPermission( "http://www.contoso.com/Private/page.htm" );
         Console::WriteLine( "This line will not be printed" );
      }
      catch ( SecurityException^ e ) 
      {
         Console::WriteLine( "Expected exception {0}", e->Message );
      }
   }
};
  
  // 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("http://www.contoso.com/Public/page.htm");
    Console.WriteLine("Public page has passed Connect permission check");

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

  ' 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
  
  
  Public Shared Sub demoDenySite()
     'Pass the security check.
     CheckConnectPermission("http://www.contoso.com/Public/page.htm")
     Console.WriteLine("Public page has passed Connect permission check")
     
     Try
        'Throw a SecurityException.
        CheckConnectPermission("http://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

Commenti

Quando si applica WebPermissionAttribute alla classe, questa proprietà specifica la stringa di connessione dell'espressione regolare da usare all'interno della classe. Questa proprietà è write-once.

Si applica a

Vedi anche