WebAPI_Cors跨域基本使用

本文详细介绍了WebAPI中CORS解决跨域问题的原理和实践。首先解释了浏览器的同源策略导致的跨域问题,接着通过创建ASP.NET Web应用程序和WebAPI站点展示了CORS的使用步骤。在实例中,配置CORS并演示了在不同浏览器下的兼容性问题及解决方案。最后讨论了CORS的安全性,提供两种不同的参数设置方法以增强访问控制。
摘要由CSDN通过智能技术生成
什么是跨域问题

出于安全考虑(浏览器的同源策略)<协议,域名,端口>,浏览器会限制脚本中发起的跨站请求,浏览器要求JavaScript或Cookie只能访问同域下的内容。由于这个原因,我们不同站点之间的数据访问会被拒绝。

Cors解决跨域问题

跨域资源共享( CORS )机制允许 Web 应用服务器进行跨域访问控制,从而使跨域数据传输得以安全进行。它解决跨域问题的原理是通过向http的请求报文和响应报文里面加入相应的标识告诉浏览器它能访问哪些域名的请求。

解决跨域问题实例

下面就写一个简单是实例来说明如何使用CORS解决跨域

1、建立测试项目

1.1、新建两个ASP.NET Web 应用程序,作为Web站点和WebApi站点: 
这里写图片描述

1.2、配置WebApi站点 
在WebApiConfig.cs文件里面配置Web API 路由,指向具体的action

//Web API 路由
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
    name: "DefaultApi1", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } );

在控制器中新建一个测试方法,用于返回请求数据:

[Authorize]
[RoutePrefix("api/Account")]
public class AccountController : ApiController
{
    /// <summary> /// 得到所有数据 /// </summary> /// <returns>返回数据</returns> [HttpGet] public string GetAllData() { return "Success"; } }

启动Web API项目,站点端口号为:8476

1.3、配置Web站点 
新建一个index测试页面:

<html>
<head>
    <meta name=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值