sso原理浅析
2017-06-13 17:20
260 查看
关于sso原理分析:
同域:
xxx.com/demo1/hello.action
xxx.com/demo2/hello.action
登录页面只需要在根路径下加一个cookie
关键就是这个cookie的路径要放到根路径,即顶级目录下,cookie.setPath(“/”);
这样两个action都可以访问到
即可进行登录验证
同父域:
demo1.xxx.com/demo1/hello.action
demo2.xxx.com/demo2/hello.action
这种必然是多台服务器的情况,还会有专门的sso登录服务器,sso.xxx.com
登录页面需要在父域根路径下加一个cookie
cookie.setDomain(“.xxx.com”)
cookie.setPath(“/”);
这样使同父域下的都能看到这个cookie
demo1和demo2登录时需要将cookie通过httpConnection发送到sso.xxx.com进行验证
跨域
通过上面,我们知道实现sso关键就在写cookie。只要在一个大家都能访问到的地方写好cookie即可。
但是跨域的情况,一个域是没有权限写其他域的cookie的。
难点:跨域的情况通知其他域写cookie
方法:通过隐藏的iframe,调用其他域的url,通知其写cookie
总结:关键就是cookie的存储。只是原理的浅析,实际项目中一般直接采用cas,不会自己再写一套。
同域:
xxx.com/demo1/hello.action
xxx.com/demo2/hello.action
登录页面只需要在根路径下加一个cookie
关键就是这个cookie的路径要放到根路径,即顶级目录下,cookie.setPath(“/”);
这样两个action都可以访问到
即可进行登录验证
同父域:
demo1.xxx.com/demo1/hello.action
demo2.xxx.com/demo2/hello.action
这种必然是多台服务器的情况,还会有专门的sso登录服务器,sso.xxx.com
登录页面需要在父域根路径下加一个cookie
cookie.setDomain(“.xxx.com”)
cookie.setPath(“/”);
这样使同父域下的都能看到这个cookie
demo1和demo2登录时需要将cookie通过httpConnection发送到sso.xxx.com进行验证
跨域
通过上面,我们知道实现sso关键就在写cookie。只要在一个大家都能访问到的地方写好cookie即可。
但是跨域的情况,一个域是没有权限写其他域的cookie的。
难点:跨域的情况通知其他域写cookie
方法:通过隐藏的iframe,调用其他域的url,通知其写cookie
总结:关键就是cookie的存储。只是原理的浅析,实际项目中一般直接采用cas,不会自己再写一套。
相关文章推荐
- SEHOP原理浅析
- CAS实现SSO单点登录原理【强烈推荐】
- 书籍中的一个小样章-Java并发编程AQS原理浅析
- Oracle基本数据改变原理浅析(redo与undo)--oracle核心技术读书笔记一
- Spring AOP原理浅析及入门实例
- Java容器类浅析四----ArrayList和LinkedList的存取原理
- 浅析静态库链接原理
- iPhone的Push(推送通知)功能原理浅析
- SylixOS USB总线原理浅析
- 单点登录SSO的实现原理
- iPhone的Push(推送通知)功能原理浅析
- localtunnel.me 原理流程浅析
- PostgreSQL 同步流复制原理和代码浅析--德哥
- 浅析 Linux 中的时间编程和实现原理,第 3 部分: Linux 内核的工作
- hashmap与Hashtable实现原理浅析
- Android中常用的Linux指令以及Root原理浅析
- 花生壳域名绑定动态IP原理浅析
- Dubbo解析及原理浅析
- Android应用向su申请root权限,以及Superuser进行授权管理的原理浅析