在线等:关于cas单点,非拦截系统A如何获取已登录系统B的UserPrincipal?
问题描述:项目 cas3.4.6版部署在www.xx.com中,项目 A 部署在www.xx2.com中(首页等部分页面无需登录即可访问)
项目 B 部署在www.xx3.com中 (所有页面均被cas登录拦截)
状况:在B系统进行登陆后,请求A系统中未配置cas登录拦截的页面,如何获取登录用户信息?目前B系统登录后,再进入A系统未配置cas登录拦截的页面无法获取用户信息(request.getUserPrincipal();拿不到值,必须再经过一次cas才能拿到),是否有什么方式能处理这种情况,未拦截页面也能获取到其他系统已经登录过的用户信息也就是这玩意((Assertion) session.getAttribute(CONST_CAS_ASSERTION))?
不胜感激!!!!
cas sso 单点 --------------------编程问答-------------------- 表示关注,感兴趣,留名 --------------------编程问答-------------------- 我测试了下 ,, 是 cas3.4的 没拿到 ,,可能 是有些东西没配置吧
String name = (String)session.getAttribute(CASFilter.CAS_FILTER_USER);
这种方法 是可以 拿到的!!(测试成功) --------------------编程问答--------------------
我是3.4的cas
CASFilter.CAS_FILTER_USER 这个是你们自己项目定义的吧,cas里面有这个CASFilter类么,或者
CASFilter.CAS_FILTER_USER对应cas哪个key? --------------------编程问答-------------------- casclient-2.1.1.jar这个jar中有类CASFilter.class 你下载一个放入项目中就可以;了
补充:Java , Java EE