.net core关于跨域及Cookie的部分问题
一、如何跨域
1、情景描述
目前有A站点和B站点。A站点有一个API接口为UserData接口,B站点希望可以通过ajax请求来获取A站点该接口数据。
2、后端修改
首先在ConfigureServices中配置、添加跨域策略

策略新增好了之后又两种方法来配置该策略
方法一:全局添加
直接在Configure中用中间件的方法来注册跨域app.UseCors("自己的策略名称");该方法是让所有的接口都是可以跨域
方法二:方法头添加
在允许跨域的API上添加 [EnableCors("策略名称")],该方法可以灵活的允许要跨域的接口。
二、跨域中Cookie的使用
1、前端
ajax请求中应该添加以下参数

2、后端
.net core 后端关于Cookie的跨域需要注意的要点还是蛮多的:
①是否在CookiePolicyOptions中设置了SameSite为No

②AllowCredentials是否配置了(见本文第一段)
③设置Cookie到底是在Request中设置还是Response中设置(获取是在Request中获取,设置实在Response中设置)
三、问题
情景如下:
有A、B两个站点。其中A站点有一个API如下:

这个时候用户小明在Chorm浏览器中打开了A站点、B站点,并在A站点添加了Cookie :CookieA, 在B站点添加了Cookie: CookieB。
小明在B站点用ajax访问了A站点的GetData接口之后结果如下:
1、B站点并未添加新的名为“NewCookie”的Cookie。
2、A站点新增了名为“NewCookie”的Cookie。
3、程序Console.Write输出的是A站点的Cookie而不是B站点的Cookie
疑问:
接口明明是B站点请求的,为什么效果确实和A站点访问的效果一样?不应该是B站点新增Cookie,Console.Write B站点的Cookie吗?
更新:
转载一篇关于asp.net 的跨域设置:https://www.cnblogs.com/smartstar/p/9771542.html
.net core关于跨域及Cookie的部分问题的更多相关文章
- ASP.NET Core Web API 跨域(CORS) Cookie问题
身为一个Web API,处理来自跨域不同源的请求,是一件十分合理的事情. 先上已有的文章,快速复制粘贴,启用CORS: Microsoft:启用 ASP.NET Core 中的跨域请求 (CORS) ...
- 重新整理 .net core 实践篇————跨域问题四十一]
前言 简单整理一下.net core 的跨域问题,这个以前也整理过比较详细的,故而在此简单整理一下. 正文 对跨域相对的就是同源,什么是同源呢? 协议相同(http/https) 主机(域名)相同 端 ...
- PHP 通过设置P3P头来实现跨域访问COOKIE
CentOS的系统(Linux 内核) 编辑HOST vi /etc/hosts 加入127.0.0.1 www.a.com127.0.0.1 www.b.com 首先:创建 a_setcookie. ...
- CP="CAO PSA OUR" 用P3P header解决iframe跨域访问cookie
1.IE浏览器iframe跨域丢失Session问题 在开发中,我们经常会遇到使用Frame来工作,而且有时是为了跟其他网站集成,应用到多域的情况下,而Iframe是不能保存Session的因此,网上 ...
- PHP 跨域写cookie
实际工作中,类似这样的要求很多,比如说,我们有两个域名,我们想实现在一个域名登录后,能自动完成另一个域名的登录,也就是PASSPORT的功能. 我只写一个大概,为了测试的方便,先编辑hosts文件,加 ...
- 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法
单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...
- ajax 跨域携带COOKIE
这个问题属于Ajax跨域携带Cookie的问题,找了一篇博文的解决方案. 原生ajax请求方式: var xhr = new XMLHttpRequest(); xhr.open("POST ...
- .net core实现跨域
什么是跨域在前面已经讲解过了,这里便不再讲解,直接上代码. 一.后台API接口 用.net core创建一个Web API项目负责给前端界面提供数据. 二.前端界面 建立两个MVC项目,模拟不同的ip ...
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jquery ajax跨 ...
随机推荐
- Keep DNS Nameserver Order Consistency In Neutron
一个subnet有多个dns server时,dns server在创建时就定好了,但可以update: neutron subnet-update 1a2d261b-b233-3ab9-902e-8 ...
- java:Map借口及其子类
java:Map借口及其子类 Conllection是保存单值最大得父接口(即没有key的数据),那么Map是保存的内容是一对键值的数据,即KEY->VALUE的形式保存,如电话簿等. Map常 ...
- php: +1天, +3个月, strtotime(): +1 day, +3 month
php: +1天, +3个月, strtotime(): +1 day, +3 month 比如,我现在当前时间基础上+1天: strtotime("+1 day"); 比如我现 ...
- 代码题(1)—lower_bound和upper_bound算法
1.lower_bound:查找序列中的第一个出现的值大于等于val的位置 这个序列中可能会有很多重复的元素,也可能所有的元素都相同,为了充分考虑这种边界条件,STL中的lower_bound算法总体 ...
- Memcached 分布式缓存实现原理简介
摘要 在高并发环境下,大量的读.写请求涌向数据库,此时磁盘IO将成为瓶颈,从而导致过高的响应延迟,因此缓存应运而生.无论是单机缓存还是分布式缓存都有其适应场景和优缺点,当今存在的缓存产品也是数不胜数, ...
- 详细的.Net并行编程高级教程--Parallel
一直觉得自己对并发了解不够深入,特别是看了<代码整洁之道>觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准.而且在<失控>这本书中也多次提到并发,不管是计算机 ...
- 原生js监听input值改变事件
哈哈哈,又来了,今天闲来无事,实验了下原生js监听input value值改变事件,下面就来说道说道: 本来写监听input值便获是用jquery的,之前的随笔写了,就是这个方法,地址:http:// ...
- objdump 命令的用法
gcc命令之 objdump ---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具---------- 以下3条命令足够那些喜欢探索目标文件与源代码之间的 ...
- raspi-config Expand root partition to fill SD card 原理
/********************************************************************************** * raspi-config E ...
- [原]NYOJ-房间安排168
大学生程序代写 /*房间安排 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 2010年上海世界博览会(Expo2010),是第41届世界博览会.于2010年5月1日至1 ...