首页 > 其他分享 >NET 跨域

NET 跨域

时间:2024-11-08 13:58:55浏览次数:1  
标签:Control 跨域 Allow xxx Access https NET HttpContext

Web.Config

    <system.webServer>
        <!--跨域设置-->
        <httpProtocol>
            <customHeaders>
              <remove name="Access-Control-Allow-Origin" />
              <remove name="Access-Control-Allow-Headers" />
              <remove name="Access-Control-Allow-Methods" />

            <add name="Access-Control-Allow-Origin" value="*" />
              <add name="Access-Control-Allow-Headers" value="*" />
              <add name="Access-Control-Allow-Methods" value="*" />-->
                <add name="Access-Control-Allow-Credentials" value="true" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>

Global.asax

        /// <summary>
        /// 
        /// </summary>
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            //  允许所有的options请求,直接返回200状态码
            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                HttpContext.Current.Response.StatusCode = 200;
                //HttpContext.Current.Response.Headers["Access-Control-Allow-Origin"] = HttpContext.Current.Request.Headers["origin"];
                HttpContext.Current.Response.End();
                return;
            }
        }

 

PS:

1.Error: 需要设置(Access-Control-Allow-Credentials = true)

xxx Access to XMLHttpRequest at 'https://xxx' from origin 'https://xxx' has been blocked by CORS policy: 
Response to preflight request doesn't pass access control check: 
The value of the 'Access-Control-Allow-Credentials' header in the response is '' 
which must be 'true' when the request's credentials mode is 'include'. 
The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

2.Error: 多个Access-Control-Allow-Origin,重复配置

Access to XMLHttpRequest at 'https://xxx' from origin 'https://xxx' has been blocked by CORS policy: 
Response to preflight request doesn't pass access control check: 
The 'Access-Control-Allow-Origin' header contains multiple values 'https://xxx, https://xxx', but only one is allowed.

3.浏览器会拒绝任何不带 Access-Control-Allow-Credentials: true 标头的响应,且不会把响应提供给调用的网页内容

 4.附带身份凭证的请求时,不支持通配符

 

Reference:

跨源资源共享(CORS)

标签:Control,跨域,Allow,xxx,Access,https,NET,HttpContext
From: https://www.cnblogs.com/CRobot/p/18534927

相关文章

  • 【模块一】kubernetes容器编排进阶实战之k8s基础概念
    kubernetes基本介绍kubernetes组件简介   -master:       主人,并不部署服务,而是管理salve节点。      后期更名为:controllplane,控制面板。         etcd:      2379(客户端通信)、2380(集群内部通信)         ......
  • ubuntu系统 运行 .net core8 webapi
    注册微软密钥和软件仓库,执行以下命令:wgethttps://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb-Opackages-microsoft-prod.debsudodpkg-ipackages-microsoft-prod.deb仅安装.NET运行时:sudoapt-getupdate;\sudoapt-getinstall-yapt-trans......
  • libvirt: 配置virt-net tap上网
    在libvirt通过修改xml来配置上网有一点复杂,而且网上相关的资料很少不知道其他人都是怎么上网的。参考libvirt文档记录一下如果使用自己创建的tap设备上网。使用预先创建的tap设备上网首先得有一个网桥,我一般用docker0当作网桥,只需装一个docker即可。有了网桥之后可以创建一个tap......
  • 一款.NET开源的屏幕实时翻译工具
    前言今天大姚给大家推荐一款.NET开源的屏幕实时翻译工具:Translumo。工具介绍Translumo是一个.NET开源的高级屏幕翻译工具,能够实时检测和翻译选定区域内的文本(如字幕)。Translumo允许同时组合使用多个OCR引擎。它使用机器学习训练模型通过OCR对每个识别的结果进行评分,并选择......
  • Kubernetes 中实现 MySQL 的读写分离
    Kubernetes中实现MySQL的读写分离在Kubernetes中实现MySQL的读写分离,可以通过主从复制架构来实现。在这种架构中,MySQL主节点(Master)负责处理所有写操作,而MySQL从节点(Slave)负责处理所有读操作。下面是一个详细的步骤指南:步骤1:创建Kubernetes集群确保你有一个运行良......
  • VS 2022 不支持 .NET Framework 4.5 项目解决办法(Visual Studio 2022)
    VS2022不支持.NETFramework4.5项目解决办法(VisualStudio2022) 概述最近C#开发工具VisualStudio升级到了2022,打开速度快了很多,开发体验也舒服很多。只是使用过程中遇到了一个比较尴尬的问题:默认VisualStudio2022不再支持安装.NETFramework4.5组件,如下图所......
  • .NET IoC 容器
    .NETIoC容器1控制反转(IoC)是什么控制反转(IoC)是一种软件设计原则,它指导在软件组件之间解耦合和降低依赖性。通常,传统的程序设计中,组件会直接调用其他组件或者服务,这样会造成组件之间高度耦合,难以维护和测试。控制反转通过将控制权从调用方转移到外部容器或框架,使得组件不需要显......
  • .NET IoC 容器(二)Unity
    .NETIoC容器(二)Unity1UnityUnityApplicationBlock(Unity)是Microsoft模式和实践团队(Patterns&Practicesteam)推出的一个开源依赖注入容器。它是.NETFramework的一个组件,旨在简化应用程序的构建过程,提高代码的可测试性和可维护性。UnityApplicationBlock提供了以下功能:......
  • .NET IoC 容器(三)Autofac
    .NETIoC容器(三)Autofac1AutofacAutofac是一个用于.NET应用程序的依赖注入(DependencyInjection,DI)容器。它帮助开发人员管理对象的创建和生命周期,使得依赖项的注入更加灵活和可维护。以下是Autofac的主要功能和特性概述:依赖注入(DependencyInjection)Autofac允......
  • 分布式事物传递 NetMQ测试
    usingNetMQ;usingNetMQ.Sockets;usingSystem;usingSystem.Threading;namespace消息传递库_NetMQ服务端{internalclassProgram{publicstaticvoidMain(){using(varpublisher=newPublisherSocket()){......