Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 44999|Respuesta: 4

[ASP.NET] asp.net MVC permite que un único método controlador cruce dominios

[Copiar enlace]
Publicado en 31/7/2018 10:13:37 | | | |
¿Qué es Cors?

CORS es un estándar W3C, que significa "Cross-origin resource sharing" (Intercambio de recursos entre orígenes).
Permite al navegador realizar peticiones XMLHttpRequest a servidores de origen cruzado, superando así la limitación de que AJAX solo puede usarse de forma homogénea.

1. Introducción

CORS requiere soporte tanto para navegadores como para servidores. Actualmente, todos los navegadores soportan esta función, y el navegador IE no puede estar por debajo de IE10.

Todo el proceso de comunicación CORS se completa automáticamente desde el navegador y no requiere la participación del usuario. Para los desarrolladores, la comunicación CORS no es diferente de la comunicación AJAX homóloga, y el código es exactamente el mismo. Una vez que el navegador detecta que una petición AJAX cruza la fuente, añadirá automáticamente información adicional en el encabezado y, a veces, una petición adicional, pero el usuario no lo notará.

Por lo tanto, la clave para lograr la comunicación CORS es el servidor. Mientras el servidor implemente la interfaz CORS, puede comunicarse entre fuentes.

De hecho, los programas de servidor web (como ASP.NET o PHP, etc.) no pueden distinguir ni gestionar si una solicitud Http entrante es una solicitud Ajax multidominio.CORS está diseñado para resolver este problema, y el estándar CORS personalizado W3C ofrece a los navegadores un mecanismo para permitir solicitudes Ajax entre dominios.

2: Código nativo de solicitud JS Ajax

Como no quiero referenciar jQuery, encapsulé los siguientes métodos con js, de la siguiente manera:

Ajax solicita pruebas de interfaz y encuentra un error del siguiente tipo:




Tres: Establecer un método controlador para permitir el cross-domain

Más o menosTodos están permitidosEl método controlador o API es multidominio, en el archivo web.configsystem.webServerLa siguiente configuración se añade bajo el nodo:

¡Lo anterior no es el resultado que queríamos! Si queremos permitir que solo un nombre de dominio acceda a una de nuestras interfaces entre dominios, necesitamos definir una característica que se parezca a esta:

El código para establecer permisos de acceso entre dominios es este párrafo HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", origin);

Establecemos las características sobre el método controlador de la siguiente manera:

Iniciamos la solicitud Ajax de nuevo con el resultado que se muestra a continuación:



Se puede acceder con éxito a los recursos de la interfaz API de nuestros otros sitios web.

(Fin)





Anterior:Hola a todos{:1_7:}
Próximo:El texto CSS está oculto más allá de los dos métodos
 Propietario| Publicado en 17/6/2019 14:23:05 |
Los métodos de solicitud HTTP no solo son GET y POST, sino que son los más utilizados. Según RFC2616 estándar (HTTP/1.1 actual), normalmente hay 8 métodos: OPTIONS, POST, PUT, DELETE, TRACE y CONNECT.

El método de solicitud OPTIONS tiene dos usos principales:

1. Obtener el método de solicitud HTTP soportado por el servidor; También es un método que suelen emplear los hackers.

2. Se utiliza para comprobar el rendimiento del servidor. Por ejemplo, cuando AJAX realiza una solicitud entre dominios, necesita enviar una cabecera HTTP OPTIONS al recurso de otro nombre de dominio para determinar si la solicitud real es segura.
 Propietario| Publicado en 4/11/2019 17:29:52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testcon aplicación tipo MIME/json. Véasehttps://www.chromestatus.com/feature/5629709824032768Para más detalles.
 Propietario| Publicado en 19/1/2020 15:33:23 |

Publicado en 12/11/2021 15:59:52 |
Bien escrito, aprendido
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com