首页 > 编程语言 >Asp.NetWebApi跨域解决方案

Asp.NetWebApi跨域解决方案

时间:2023-04-12 12:24:32浏览次数:30  
标签:Asp 跨域 响应 NetWebApi api Cors 请求

最近新开项目,项目初期本地部署访问webapi,api采用JWT验证,发现加上Authorization请求头后就报跨域问题,网上很多方案例如修改webconfig请求头什么的,均测试未果,多方尝试后有了以下方案,一行代码便完全解决跨域问题,特此记录!

1、NuGet下载 Microsoft.AspNet.WebApi.Cors

 

 2、App_Start中修改WebApiConfig类

原有方法中添加以下代码:

 config.EnableCors(new System.Web.Http.Cors.EnableCorsAttribute("*", "*", "*"));

 

 重新发布,完美解决跨域问题

原理:其实是在服务器响应web端请求时响应头中添加了:Access-Control-Allow-Origin *,即为告诉了浏览器。如果请求我的资源的页面是我这个响应头里记录了的"源",则不要拦截此响应,允许数据通行,具体项目中还可以将通配符替换为你发起请求的链接,如此就只有配置中的链接才能访问该api否则都是跨域

标签:Asp,跨域,响应,NetWebApi,api,Cors,请求
From: https://www.cnblogs.com/sgyq/p/17309386.html

相关文章

  • asp.net webform 允许跨域
    voidApplication_BeginRequest(objectsender,EventArgse){//允许跨域请求的域名列表,可以根据需求进行修改string[]allowedOrigins=newstring[]{"http://example1.com","http://example2.com"};//获取请求来源stringorigin=HttpContex......
  • 从0到1手把手教你ASP.NET Core Web API项目配置接口文档Swagger(一)
    一、创建ASP.NETCoreWebAPI项目(若项目已创建,则可跳过本节内容)1、双击打开VS2022。2、单击“创建新项目”,如下图。3、选择“ASP.NETCoreWebAPI”类型,然后单击“下一步”,如下图。4、“项目名称”此处填写为“AllTestDemo”;“位置”此处放在E盘根目录;“解决方案名称”此......
  • Raspberry Pi crontab not work bug All In One
    RaspberryPicrontabnotworkbugAllInOneRaspberryPicrontab不执行bug???pi@raspberrypi:~/Desktop$sudocrontab-epi@raspberrypi:~/Desktop$sudocrontab-l#Editthisfiletointroducetaskstoberunbycron.##Eachtasktorunhastobe......
  • ASP.NET Post, FromBody 接参总是null 空值. Web api 前端传递是有值的,怎么回事?
    遇到一个常见错误,前端Post传递data:{array:[1,2,3]},但是API接收的一直是nullAPI方法postApi([FromBody]int[]array,[FromUri]intnum)Debug过程F12检查数据传递结构,没有问题尝试排除法,只保留[FormBody]。postApi([FromBody]int[]array)还是不行。根据网......
  • Raspberry Pi GPIO 图解教程 All In One
    RaspberryPiGPIO图解教程AllInOneRaspberryPi&GPIOGPIO图解GPIOhttps://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header$pinouthttps://pinout.xyzGPIO(GeneralPurposeIO)SPI(SerialPeripheralInterface)I......
  • 解决javascript调用本地sanic接口报跨域错误的问题
    在py代码中利用middleware()方法修饰request/response即可,无需别的操作。 app=Sanic('Sanic_Server')@app.middleware("request")defcors_middle_req(request:Request):"""路由需要启用OPTIONS方法"""ifrequest.method.lower()==......
  • Charles:解决Charles映射本地时,option请求的跨域问题
    解决方案原因关于为什么会出现该问题,请参考:https://juejin.cn/post/7021077647417409550解决1、查看页面option接口的请求头中带『Access-Control』开头的header2、通过Charles的rewrite功能修改映射时的header3、具体配置如下:4、再次访问后,即可正常映射参考链接ht......
  • 前端webpack开发阶段解决跨域问题
    通过配置代理解决  1'/API':{2target:'https://xiaoapi.cn/API',//你请求的第三方接口3logLevel:"debug",//开启debug模式后,可在终端查看代理的真实请求地址4//ws:true,//代理websockets5changeOrigin:true,/*在......
  • 由ASP.NET Core读取Response.Body引发的思考
    由ASP.NETCore读取Response.Body引发的思考 前言#    前几天有群友在群里问如何在我之前的文章《ASP.NETCoreWebApi返回结果统一包装实践》的时候有点疑问,主要的疑问点就是关于Respouse的读取的问题。在之前的文章《深入探究ASP.NETCore读取Request.Body的正确方式......
  • 巧用Nginx配置解决跨域问题
    页面nginx配置1,前端页面放在域名根目录,比如,http://www.xuecheng.com/,对应的nginx配置:#门户location/{aliasD:/Z_lhy/SpringCloud/xuecheng_online/www/xc-ui-pc-static-portal/;indexindex.html;}页面目录:接口nginx配......