WebPermissionAttribute.AcceptPattern Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un modelo de expresiones regulares que describe el URI aceptado por el WebPermissionAttribute actual.
public:
property System::String ^ AcceptPattern { System::String ^ get(); void set(System::String ^ value); };
public string AcceptPattern { get; set; }
member this.AcceptPattern : string with get, set
Public Property AcceptPattern As String
Valor de propiedad
Cadena que contiene un modelo de expresiones regulares que describe el URI aceptado por el WebPermissionAttribute actual. Esta cadena debe establecerse como secuencia de escape de acuerdo con las reglas para codificar una cadena constructora Regex.
Excepciones
El valor de la propiedad AcceptPattern no es null
cuando se intenta establecer. Si desea especificar que se acepte más de un URI, utilice una instrucción de declaración de atributo adicional.
Ejemplos
En el ejemplo siguiente se muestra cómo usar WebPermissionAttribute para especificar un objeto permitido AcceptPattern.
public:
[method:WebPermission(SecurityAction::Deny,AcceptPattern="http://www\\.contoso\\.com/Private/.*")]
static void CheckAcceptPermission( String^ uriToCheck )
{
WebPermission^ permissionToCheck = gcnew WebPermission;
permissionToCheck->AddPermission( NetworkAccess::Accept, uriToCheck );
permissionToCheck->Demand();
}
static void demoDenySite()
{
// Passes a security check.
CheckAcceptPermission( "http://www.contoso.com/Public/page.htm" );
Console::WriteLine( "Public page has passed Accept permission check" );
try
{
// Throws a SecurityException.
CheckAcceptPermission( "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 );
}
}
[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("http://www.contoso.com/Public/page.htm");
Console.WriteLine("Public page has passed Accept permission check");
try {
//Throws a SecurityException.
CheckAcceptPermission("http://www.contoso.com/Private/page.htm");
Console.WriteLine("This line will not be printed");
}
catch (SecurityException e) {
Console.WriteLine("Expected exception: " + e.Message);
}
}
<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
Public Shared Sub demoDenySite()
'Passes a security check.
CheckAcceptPermission("http://www.contoso.com/Public/page.htm")
Console.WriteLine("Public page has passed Accept permission check")
Try
'Throws a SecurityException.
CheckAcceptPermission("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
Comentarios
Al aplicar WebPermissionAttribute a la clase , esta propiedad especifica qué cadena de expresión regular se aceptará para su uso dentro de la clase . Esta propiedad es de escritura una vez.