Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase WebPermission

 

Controla los derechos para tener acceso a recursos HTTP de Internet.

Espacio de nombres:   System.Net
Ensamblado:  System (en System.dll)


[SerializableAttribute]
public sealed class WebPermission : CodeAccessPermission, IUnrestrictedPermission

NombreDescripción
System_CAPS_pubmethodWebPermission()

Crea una nueva instancia de la clase WebPermission.

System_CAPS_pubmethodWebPermission(NetworkAccess, Regex)

Inicializa una nueva instancia de la WebPermission clase con los derechos de acceso especificados para la expresión regular URI especificada.

System_CAPS_pubmethodWebPermission(NetworkAccess, String)

Inicializa una nueva instancia de la WebPermission clase con los derechos de acceso especificados para el URI especificado.

System_CAPS_pubmethodWebPermission(PermissionState)

Crea una nueva instancia de la WebPermission clase que pasa todos requiera o rechaza todas las peticiones.

NombreDescripción
System_CAPS_pubpropertyAcceptList

Esta propiedad devuelve una enumeración de un solo acepte permisos mantenidos por este WebPermission. Los objetos posibles tipos de contenido en la enumeración devuelta son String y System.Text.RegularExpressions.Regex.

System_CAPS_pubpropertyConnectList

Esta propiedad devuelve una enumeración de una sola conexión permisos mantenidos por este WebPermission. Los objetos posibles tipos de contenido en la enumeración devuelta son String y System.Text.RegularExpressions.Regex.

NombreDescripción
System_CAPS_pubmethodAddPermission(NetworkAccess, Regex)

Agrega el URI especificado con los derechos de acceso a la actual WebPermission.

System_CAPS_pubmethodAddPermission(NetworkAccess, String)

Agrega la cadena URI especificada con los derechos de acceso a la actual WebPermission.

System_CAPS_pubmethodAssert()

Declara que el código de llamada puede tener acceso al recurso protegido por una demanda de permiso a través del código que llama a este método, incluso si los autores de la llamada situados en una posición más alta de la pila no tienen permiso para tener acceso al recurso. El uso de Assert puede crear problemas de seguridad.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodCopy()

Crea una copia de un WebPermission.(Invalida CodeAccessPermission.Copy()).

System_CAPS_pubmethodDemand()

Fuerza a un SecurityException en tiempo de ejecución si todos los autores de llamada situados en la parte superior de la pila de llamadas no disponen del permiso especificado por la instancia actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodDeny()

Obsoleto.Impide que los autores de la llamada situados en la posición más alta de la pila de llamadas usen el código que llama a este método para tener acceso al recurso especificado por la instancia actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto CodeAccessPermission especificado es igual al objeto CodeAccessPermission actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodFromXml(SecurityElement)

Reconstruye un WebPermission de codificación XML.(Invalida CodeAccessPermission.FromXml(SecurityElement)).

System_CAPS_pubmethodGetHashCode()

Obtiene un código hash para el objeto CodeAccessPermission que es adecuado para usarlo en algoritmos hash y las estructuras de datos, como una tabla hash.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIntersect(IPermission)

Devuelve la intersección lógica de dos WebPermission instancias.(Invalida CodeAccessPermission.Intersect(IPermission)).

System_CAPS_pubmethodIsSubsetOf(IPermission)

Determina si el actual WebPermission es un subconjunto del objeto especificado.(Invalida CodeAccessPermission.IsSubsetOf(IPermission)).

System_CAPS_pubmethodIsUnrestricted()

Comprueba el estado de permiso global de la WebPermission.

System_CAPS_pubmethodPermitOnly()

Impide que los llamadores situados más arriba en la pila de llamadas usen el código que llama a este método para tener acceso a todos los recursos excepto al recurso especificado por la instancia actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodToString()

Crea y devuelve una representación de cadena del objeto de permiso actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodToXml()

Crea una codificación XML de una WebPermission y su estado actual.(Invalida CodeAccessPermission.ToXml()).

System_CAPS_pubmethodUnion(IPermission)

Devuelve la unión lógica entre dos instancias de la WebPermission clase.(Invalida CodeAccessPermission.Union(IPermission)).

WebPermission Proporciona un conjunto de métodos y propiedades para controlar el acceso a recursos de Internet. Puede utilizar un WebPermission proporcionar o restringir el acceso al recurso, basándose en el PermissionState que se establece cuando el WebPermission se crea.

Crear un WebPermission instancia llamando a su constructor con uno de los siguientes conjuntos de parámetros:

El ConnectList y AcceptList contienen los identificadores URI a los que se concedió permiso de acceso. Para agregar un URI a cualquiera de estas listas, utilice AddPermission. Si se pasa Accept como el NetworkAccess parámetro, el URI se agregará a la AcceptList. WebPermission permitirá las conexiones a la clase de destino con identificadores URI que coinciden con la AcceptList.

System_CAPS_cautionPrecaución

Para denegar el acceso a un recurso de Internet, debe denegar el acceso a todas las rutas posibles a ese recurso. Esto requiere llamar a WebPermission.WebPermission con el parámetro de estado establecido en Deny. Un mejor enfoque es permitir el acceso a sólo el recurso específico. Para obtener más información acerca de este tema, consulte el NIB: Using the Deny Method tema.

System_CAPS_noteNota

Debe denegar el acceso utilizando solo la ruta canónica del recurso. No hay ninguna necesidad de usar variaciones sintácticas de todas la ruta de acceso.

System_CAPS_noteNota

Información de puerto predeterminada y el nombre de usuario se quita de la Uri antes de la comparación con el argumento de expresión regular que se proporciona a los WebPermission(NetworkAccess, Regex) constructor. Si la expresión regular contiene información de usuario o el número de puerto predeterminado, todos los entrantes Urino coincide con la expresión regular.

En el ejemplo siguiente se muestra cómo crear una nueva instancia de WebPermission mediante un Regex. Hosts adicionales se agregan al conectar y aceptar la lista de WebPermission. Por último, la conexión y aceptar la lista se muestran en la consola.


//  Create a Regex that accepts all URLs containing the host fragment www.contoso.com.
Regex myRegex = new Regex(@"http://www\.contoso\.com/.*");

// Create a WebPermission that gives permissions to all the hosts containing the same host fragment.
WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect,myRegex);

//Add connect privileges for a www.adventure-works.com.
myWebPermission.AddPermission(NetworkAccess.Connect,"http://www.adventure-works.com");

//Add accept privileges for www.alpineskihouse.com.
myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/");

// Check whether all callers higher in the call stack have been granted the permission.
myWebPermission.Demand();

// Get all the URIs with Connect permission.
IEnumerator myConnectEnum = myWebPermission.ConnectList;
Console.WriteLine("\nThe 'URIs' with 'Connect' permission are :\n");
while (myConnectEnum.MoveNext())
{Console.WriteLine("\t" + myConnectEnum.Current);}

// Get all the URIs with Accept permission.	  
IEnumerator myAcceptEnum = myWebPermission.AcceptList;
Console.WriteLine("\n\nThe 'URIs' with 'Accept' permission is :\n");

while (myAcceptEnum.MoveNext())
  {Console.WriteLine("\t" + myAcceptEnum.Current);}

.NET Framework
Disponible desde 1.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: