cas 单点登录 关于server获取用户名的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cas 单点登录 关于server获取用户名的问题相关的知识,希望对你有一定的参考价值。
用 UsernamePasswordCredentials user = (UsernamePasswordCredentials)request.getAttribute("credentials");得到用户。如果是从客服端登录后,然后在服务端用上面的语句就得不到用户信息。我想要在任何时候服务端都能得到用户信息应该怎么做?
参考技术A 服务端都能得到用户信息,不如做一个库,客户端登陆后就在库里记录一下session或usernameCas单点登录过程
Cas单点登录过程
访问项目
Cas-client验证session,因为还没有登录,返回浏览器重定向到cas-server, 验证未登录,跳转到登录页面,用户名密码验证成功后,cas-server做几个工作,生成ST,TGC,缓存ST,返回浏览器,TGC设置为cookie,ST是重定向页面的参数,然后浏览器带着ST到cas-server进行验证,验证通过,返回session,浏览器重定向到我们要访问的资源并带着session,cas-client验证session,成功,返回接口返回值。
如果我们在浏览器中把session的值修改一下,再去请求,因为cas-client session验证不过,就会重定向到cas-server去重新验证,这次要带着TGC,cas-server解密得到TGT,成功,则返回新的ST,浏览器重定向拿着ST验证,同上,,,,生成新的session,因为TGC 免去了再次登录。
另一个使用相同cas-server验证的项目访问资源时,就是使用TGC来免去登录的。
以上是关于cas 单点登录 关于server获取用户名的问题的主要内容,如果未能解决你的问题,请参考以下文章