Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 44999|Resposta: 4

[ASP.NET] asp.net MVC permite que um único método controlador cruze domínios

[Copiar link]
Publicado em 31/07/2018 10:13:37 | | | |
O que é Cors?

CORS é um padrão W3C, que significa "Compartilhamento de recursos entre origens".
Ele permite que o navegador faça requisições XMLHttpRequest para servidores cross-origin, superando assim a limitação de que o AJAX só pode ser usado homogeneamente.

1. Introdução

O CORS exige suporte tanto para navegador quanto para servidor. Atualmente, todos os navegadores suportam esse recurso, e o navegador IE não pode ser inferior a IE10.

Todo o processo de comunicação do CORS é concluído automaticamente pelo navegador e não requer participação do usuário. Para os desenvolvedores, a comunicação CORS não é diferente da comunicação AJAX homologada, e o código é exatamente o mesmo. Assim que o navegador percebe que uma requisição AJAX cruza a origem, ele adiciona automaticamente algumas informações adicionais no cabeçalho, e às vezes mais uma solicitação, mas o usuário não percebe.

Portanto, a chave para alcançar a comunicação CORS é o servidor. Desde que o servidor implemente a interface CORS, ele pode se comunicar entre fontes.

Na verdade, programas de servidor web (como ASP.NET ou PHP, etc.) não conseguem distinguir e não gerenciam se uma requisição Http recebida é uma requisição Ajax entre domínios.O CORS foi projetado para resolver esse problema, e o padrão CORS personalizado do W3C oferece aos navegadores um mecanismo para permitir requisições Ajax entre domínios.

2: Código nativo de solicitação JS Ajax

Como não quero referenciar o jQuery, encapsulei os seguintes métodos com js, da seguinte forma:

O Ajax solicita testes de interface e encontra um erro conforme segue:




Três: Definir um método controlador para permitir múltiplas áreas

Mais ou menosTodos são permitidosO método controlador ou API é multidomínio, no arquivo web.configsystem.webServerA seguinte configuração é adicionada sob o nó:

O que foi dito acima não é o resultado que queríamos! Se quisermos permitir que apenas um nome de domínio acesse uma de nossas interfaces entre domínios, precisamos definir uma funcionalidade que se pareça com esta:

O código para definir permissões de acesso entre domínios é este parágrafo HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", origem);

Definimos as características sobre o método controlador da seguinte forma:

Iniciamos novamente a solicitação Ajax com o resultado mostrado abaixo:



Recursos de interface API de nossos outros sites podem ser acessados com sucesso.

(Fim)





Anterior:Olá a todos{:1_7:}
Próximo:O texto CSS é oculto além dos dois métodos
 Senhorio| Publicado em 17/06/2019 14:23:05 |
Os métodos de requisição HTTP não são apenas GET e POST, mas são apenas os mais comumente usados. De acordo com RFC2616 padrão (HTTP/1.1 atual), geralmente existem 8 métodos: OPTIONS, POST, PUT, DELETE, TRACE e CONNECT.

O método de solicitação OPTIONS tem dois usos principais:

1. Obter o método de requisição HTTP suportado pelo servidor; Também é um método frequentemente usado por hackers.

2. Usado para verificar o desempenho do servidor. Por exemplo, quando o AJAX faz uma requisição entre domínios, ele precisa enviar um cabeçalho HTTP OPTIONS para o recurso de outro nome de domínio para determinar se a solicitação real é segura.
 Senhorio| Publicado em 04/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/testcom aplicação do tipo MIME/json. Vejahttps://www.chromestatus.com/feature/5629709824032768Para mais detalhes.
 Senhorio| Publicado em 19/01/2020 15:33:23 |

Publicado em 12/11/2021 15:59:52 |
Bem escrito, erudito
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com