单点登录-用户从第二个系统登录
2019-06-02 16:45:00 0 举报
单点登录2
作者其他创作
大纲/内容
GET http://www.sys2.com/test1/test/t2?vt=xxxx
SSO-SERVER
SET Cookie:VT302:http://www.sys2.com/test2/test/t2
GET:http://www.sys2.com/test1/test/t2
系统1
验证VT并拿VT里面的sessionid验证会话的有效性,验证通过则返回ssosession里面的会话数据
302:http://www.ca.com/login?backurl=http://www.sys2.com/test2/test/t2
服务器验证通过,把VT设置到sys1的Cookie里面,并通知浏览器重定向到之前的backurl制定的地址
GET http://www.sys2.com/test2/test/t2
判断VT的Cookie是否存在,不存在说明没有登陆,通知浏览器跳转到SSO-SERVER的登陆页面,并设置回调地址
浏览器
Response test/t2
Response sso session data
处理test/t2请求
VTcookie存在,再次通过服务器来验证VT的有效性
SID的cookie存在,说明已经创建session,根据SIT验证session有效性,如果有效,为sys2签发一个VT ,并设置到对应的cookie中,通知浏览器重定向到sys2的test/t2地址,并把VT作为URL的参数进行传递
show test/t2
Response Success
验证VT并拿VT里面的SessionID验证会话有效性
GET:http://www.ca.com/session/validation?vt=xxxyyy
场景三:用户登录了系统1之后,再去访问其他系统如系统2的资源,比如系统2的test/t2,它最终能访问到系统B的test/t2
302:http://www.sys2.com/test2/test/t2?vt=xxxx
根据URL中的VT,取得服务器签发的VT,并验证VT是否有效,如果有效,则把VT设置到sys2的cookie里面去,后续直接从cookie中获取vt验证,不在需要登陆验证
GET http://www.ca.com/validate?vt=xxxyyyy
用户访问http://www.sys2.com/test2/test/t2
GET:http://www.ca.com/login?backurl=http://www.sys2.com/test2/test/t2
用户
0 条评论
下一页