跨域cookie共享 有做过的吗 为什么我总是无法获取到cookie

跨域cookie共享 有做过的吗 为什么我总是无法获取到cookie,第1张

正常情况下,浏览器禁止跨域获取cookie 一般通过sso服务可以实现取得跨域cookie,思路如下: 域A页面访问位于域A的服务器,对权限进行验证 域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器) 域A。

我使用URL发了一个get请求,如何才能获取到它返回给我的Cookie呢。

URL geturl = new URL(myurl);

>

登陆验证成功后存入session,想要获取的话掉通过session获取

sessionput(key, value);

object object = sessionget(key);

用户信息一般放在session里面

实现思路

1我们知道session其实是在cookie中保存了一个sessionid,用户每次访问都将sessionid发给服务器,服务器通过id查找用户对应的状态数据。

在这里我的处理方式也是在cookie中定义一个sessionid,程序需要取得用户状态时将sessionid做为key在redis中查找。

2同时session支持用户在一定时间不访问将session回收。

一个域名下面可能存在着很多个cookie对象,cookie具有多个属性:

顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成。

顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成。

二级域名能读取设置了domain为顶级域名或者自身的cookie,不能读取其他二级域名domain的cookie。所以要想cookie在多个二级域名中共享,需要设置domain为顶级域名,这样就可以在所有二级域名里面或者到这个cookie的值了。

顶级域名只能获取到domain设置为顶级域名的cookie,其他domain设置为二级域名的无法获取。

我们知道Cookie的属性有很多,其中有一个属性是路径。有些人认为Cookie的路径指的是Cookie在客户端的保存路径,其实并不是。 Cookie的路径是在服务器创建Cookie时设置的,它的作用是决定浏览器访问服务器的某个资源时,需要将浏览器端保存的那些Cookie归还给服务器

正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。

设置cookiesetPath("/"); 假设本机tomcat/webapp下面有两个应用:cas和webapp_b:

设置cookiesetDomain("jszxcom");假设 A机所在的域:homelangchaocom,A有应用cas B机所在的域:jszxcom,B有应用webapp_b :

推荐阅读

当用户第一次访问并登陆一个网站的时候,cookie的设置以及发送会经历以下4个阶段:

客户端发送一个请求到服务器

服务器发送一个>

以上就是关于跨域cookie共享 有做过的吗 为什么我总是无法获取到cookie全部的内容,包括:跨域cookie共享 有做过的吗 为什么我总是无法获取到cookie、java里怎样在客户端获取response的Cookie、java 模拟登录后,获取服务器上对应的cookie值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9819742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存