资讯专栏INFORMATION COLUMN

SSO单点登录的知识储备

Dongjie_Liu / 1322人阅读

摘要:规定的服务器路径。的工作原理当一个第一次被启用时,一个唯一的标识被存储于本地的中。利用解决单点登陆跨域问题是公布的一项隐私保护推荐标准,以为用户提供隐私保护。

这段时间在看一些关于SSO单点登录的问题,写下一些记录和一些基础知识的储备。

cookie
  

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

setcookie()
setcookie(name,value,expire,path,domain,secure)

name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

For example:

setcookie("uid","10007",time()+3600*24,".")
session
  

session的工作原理
(1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。
(2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。
(3)当执行PHP脚本时,通过使用session_register()函数注册session变量。
(4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。

利用P3P解决单点登陆跨域问题
  

P3P(Platform for Privacy Preferences)是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护。

  

P3P标准的构想是:Web 站点的隐私策略应该告之访问者该站点所收集的信息类型、信息将提供给哪些人、信息将被保留多少时间及其使用信息的方式,如站点应做诸如 “本网站将监测您所访问的页面以提高站点的使用率”或“本网站将尽可能为您提供更合适的广告”等申明。访问支持P3P网站的用户有权查看站点隐私报告,然后决定是否接受cookie或是否使用该网站。

当页面中的IFRAME或者FRAME或者JS跨域的时候,IE不允许跨域访问cookie,IE有安全策略限制页面不带cookie,为了解决这个限制,我们使用P3P

header("P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"");
setcookie("uid","kaizhu",time()+3600*24,"/");   
  

这里说的跨域主要是设置cookie的情况,如果是跨域读取cookie,要保证在对应设置cookie的时候设置了P3P,否则在读取的事情IE会屏蔽跨域cookie。

JSONP跨域数据交互
  

JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。

【参考】
正确理解web交互中的cookie与session
对于 PHP cookie 与 session 的理解
PHP-利用P3P实现跨域
JavaScript 的同源策略

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/17356.html

相关文章

  • 什么是单点登录(SSO)

    摘要:此时,用户想要访问系统受限的资源比如说订单功能,订单功能需要登录后才能访问,系统发现用户并没有登录,于是重定向到认证中心,并将自己的地址作为参数。前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:github.com/ZhongFuChen… 在我实习之前我就已经在看单点登录的是什么了,但是实习的时候一直在忙其他的事,所以有几个网站就一直躺在我的收藏夹里边: ...

    番茄西红柿 评论0 收藏0
  • 什么是单点登录(SSO)

    摘要:此时,用户想要访问系统受限的资源比如说订单功能,订单功能需要登录后才能访问,系统发现用户并没有登录,于是重定向到认证中心,并将自己的地址作为参数。前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:github.com/ZhongFuChen… 在我实习之前我就已经在看单点登录的是什么了,但是实习的时候一直在忙其他的事,所以有几个网站就一直躺在我的收藏夹里边: ...

    番茄西红柿 评论0 收藏0
  • 什么是单点登录(SSO)

    摘要:此时,用户想要访问系统受限的资源比如说订单功能,订单功能需要登录后才能访问,系统发现用户并没有登录,于是重定向到认证中心,并将自己的地址作为参数。前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:github.com/ZhongFuChen… 在我实习之前我就已经在看单点登录的是什么了,但是实习的时候一直在忙其他的事,所以有几个网站就一直躺在我的收藏夹里边: ...

    2i18ns 评论0 收藏0
  • 什么是单点登录(SSO)

    摘要:此时,用户想要访问系统受限的资源比如说订单功能,订单功能需要登录后才能访问,系统发现用户并没有登录,于是重定向到认证中心,并将自己的地址作为参数。 前言 只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在我实习之前我就已经在看单点登录的是什么了,但是实习的时候一直在忙其他的事,所以有几个网站就...

    levy9527 评论0 收藏0

发表评论

0条评论

Dongjie_Liu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<