jsp跨域访问cookies_(单点登录)跨域SSO看这篇文章就够了:服务器篇

00a417c17f81faff4299b4b4b84aa792.png

前言

上篇文章,我们聊了下单点登录的基础设计和概念的内容。不知道大家觉得如何,如果觉得不怎么样?...那也没辙~

今天的部分,不扯有的没的,直接上服务端的代码!

正文

上一篇文章是用一做的序号,所以这次直击从二开始

二:Cookie增删改查

如何读取Cookie?

通过Servlet中的request对象可以读取到Cookie数组,然后foreach遍历读取,一般只是获取到nam和value,其他信息写入到浏览器后,浏览器不主动再发回来,读取并无意义。

b28e336b98d090fdd98c4e3f73ccf3ad.png

如何写入Cookie带浏览器?

新建Cookie对象设置一系列属性,然后添加到response中去。需要注意的是,当设置path为“/”时,表示所有路径都会被该Cookie作用到,如果设置为/path1那么由/path2发起请求就不会携带该Cookie。默认不设置只作用在当前路径下。

de322ffaf099b5a9c6f70999bc30bfd5.png

修改Cookie

修改更新Cookie时,除了要保证Cookie的name是相同的,也要保证Cookie的一系列属性是相同的,否则浏览器会生成新的Cookie。

删除Cookie

只需要设置Cookie的MaxAge为负值,意味着是过去的Cookie,浏览器就会清除。

下文将设计一些前端的内容。

三:跨域读写Cookie

1.利用HTML的script标签跨域写Cookie

比如当前域是www.a.com,下面的script标签是跨域写cookie的核心,通过此标签实现了向www.b.com域写入cookie:

P3P协议

​ P3P是一种被称为个人隐私安全平台项目(the Platform for Privacy Preferences)的标准,能够保护在线隐私权,使Internet冲浪者可以选择在浏览网页时,是否被第三方收集并利用自己的个人信息。如果一个站点不遵守P3P标准的话,那么有关它的Cookies将被自动拒绝,并且P3P还能够自动识破多种Cookies的嵌入方式。p3p是由全球资讯联盟网所开发的。

举个例子:

​ 我们在访问A网站时,理论上说,我们只能把Cookie信息保存到A站域名下,而不能写入到B网站下。如果想要跨域读写Cookie,只是通过script标签变相访问B网站在一些浏览器是行不通的,此时B网站的服务器应该告诉浏览器允许A网站写入Cookie,否则浏览器将会拒绝执行,这就是P3P协议。

服务端如何告诉浏览器?

​ P3P提供了一种简单的方式 ,来加载用户隐私策略,只要在http响应的头信息中增加 response.setHeader("P3P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值