锁定老帖子 主题:单点登录设计
精华帖 (1) :: 良好帖 (0) :: 新手帖 (3) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2011-09-25
刚了解了下CAS就看到你这帖子了。
|
|
返回顶楼 | |
发表时间:2011-09-25
什么叫单点登入???这也算是???
太扯淡了... |
|
返回顶楼 | |
发表时间:2011-09-25
这叫做单点登录么。。。太山寨了
|
|
返回顶楼 | |
发表时间:2011-09-26
fantasy 写道 可以使用独立的单点登录应用ssoApp来做,这样可扩展性和安全性会更好。
1:用户访问App1的某个URL,App1通过cookie(必须加密)去单点登录服务器验证当前用户是否已经登录,如果没有登录,则跳转到单点登录应用的登录页面,并传递用户访问的URL。 2:用户提交用户名和密码,单点登录应用验证登录成功后跳转回App1,并传递token和sign(用于防止token被篡改)。 3:App1将返回的token和sign通过接口去单点登录应用进行验证,如果验证成功跳转用户访问的URL,并写入登录成功的cookie。 4:用户退出App1,清空登录验证的cookie。 那么即使新增一个app2或app3,照样可以支持单点登录。 你说的这种主要指的是在登录框的单点登录,但是如果需求的是登入一个系统,然后通过这个系统直接跳转到另一个系统的话,有没有很好的想法? |
|
返回顶楼 | |
发表时间:2011-09-26
Jclick 写道 fantasy 写道 可以使用独立的单点登录应用ssoApp来做,这样可扩展性和安全性会更好。
1:用户访问App1的某个URL,App1通过cookie(必须加密)去单点登录服务器验证当前用户是否已经登录,如果没有登录,则跳转到单点登录应用的登录页面,并传递用户访问的URL。 2:用户提交用户名和密码,单点登录应用验证登录成功后跳转回App1,并传递token和sign(用于防止token被篡改)。 3:App1将返回的token和sign通过接口去单点登录应用进行验证,如果验证成功跳转用户访问的URL,并写入登录成功的cookie。 4:用户退出App1,清空登录验证的cookie。 那么即使新增一个app2或app3,照样可以支持单点登录。 你说的这种主要指的是在登录框的单点登录,但是如果需求的是登入一个系统,然后通过这个系统直接跳转到另一个系统的话,有没有很好的想法? 一样啊,还是先从本系统进行验证,如果没有通过就跳往SSO端去验证,SSO端看是否种过COOKIE,如果有,返回ticket和SSOToken 只不过就是把过程重复了一下,非要人写出代码? |
|
返回顶楼 | |
发表时间:2011-09-26
天一 写道 楼主的图用什么画的。。。
我想知道楼主的图是用什么工具画的? |
|
返回顶楼 | |
发表时间:2011-09-26
用cookie的路过
|
|
返回顶楼 | |
发表时间:2011-09-26
vtrtbb 写道 Jclick 写道 fantasy 写道 可以使用独立的单点登录应用ssoApp来做,这样可扩展性和安全性会更好。
1:用户访问App1的某个URL,App1通过cookie(必须加密)去单点登录服务器验证当前用户是否已经登录,如果没有登录,则跳转到单点登录应用的登录页面,并传递用户访问的URL。 2:用户提交用户名和密码,单点登录应用验证登录成功后跳转回App1,并传递token和sign(用于防止token被篡改)。 3:App1将返回的token和sign通过接口去单点登录应用进行验证,如果验证成功跳转用户访问的URL,并写入登录成功的cookie。 4:用户退出App1,清空登录验证的cookie。 那么即使新增一个app2或app3,照样可以支持单点登录。 你说的这种主要指的是在登录框的单点登录,但是如果需求的是登入一个系统,然后通过这个系统直接跳转到另一个系统的话,有没有很好的想法? 一样啊,还是先从本系统进行验证,如果没有通过就跳往SSO端去验证,SSO端看是否种过COOKIE,如果有,返回ticket和SSOToken 只不过就是把过程重复了一下,非要人写出代码? 任何应用系统访问的时候,都要先去认证系统不就可以了。 |
|
返回顶楼 | |
发表时间:2011-09-26
seesion的有效时间是可以设定的,一旦过期,就失效了,服务器端就找不到这个session了!也就是说你session.getAttribute()取到的是为NULL的,你可以通过这个区判断,lz的系统是公用一个session,那么一旦失效,就等重新登录了!
建议使用COOKIE 这样可移植性高 同时在app1中也加一个session,这样就不用老是跑到SSO去验证,能提高系统性能。 |
|
返回顶楼 | |
发表时间:2011-09-26
minghuibo 写道 seesion的有效时间是可以设定的,一旦过期,就失效了,服务器端就找不到这个session了!也就是说你session.getAttribute()取到的是为NULL的,你可以通过这个区判断,lz的系统是公用一个session,那么一旦失效,就等重新登录了!
建议使用COOKIE 这样可移植性高 同时在app1中也加一个session,这样就不用老是跑到SSO去验证,能提高系统性能。 这样虽然提高了性能,那如果登出了。岂不是每个app都要清掉session?? |
|
返回顶楼 | |