sso原理浅析

关于sso原理分析:

  1. 同域:
    xxx.com/demo1/hello.action
    xxx.com/demo2/hello.action
    登录页面只需要在根路径下加一个cookie
    关键就是这个cookie的路径要放到根路径,即顶级目录下,cookie.setPath(“/”);
    这样两个action都可以访问到
    即可进行登录验证

  2. 同父域:
    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进行验证

  3. 跨域
    通过上面,我们知道实现sso关键就在写cookie。只要在一个大家都能访问到的地方写好cookie即可。
    但是跨域的情况,一个域是没有权限写其他域的cookie的。
    难点:跨域的情况通知其他域写cookie
    方法:通过隐藏的iframe,调用其他域的url,通知其写cookie

总结:关键就是cookie的存储。只是原理的浅析,实际项目中一般直接采用cas,不会自己再写一套。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值