WebPermissionAttribute.ConnectPattern Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a regular expression pattern that describes the URI connection controlled by the current WebPermissionAttribute.
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
Property Value
A string containing a regular expression pattern that describes the URI connection controlled by this WebPermissionAttribute.
Exceptions
ConnectPattern is not null
when you attempt to set the value. If you wish to specify more than one connect URI, use an additional attribute declaration statement.
Examples
The following example demonstrates how to use WebPermissionAttribute to specify an allowable 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
Remarks
When applying WebPermissionAttribute to your class, this property specifies what regular expression connect string is accepted for use within your class. This property is write-once.