[开发] liferay集成CAS单点登陆后,如何在portlet中获取cas认证的用户名?

wuweilue 2008-11-06
liferay集成CAS单点登陆后,如何在portlet中获取cas认证的用户名?
在portlet嵌入的jsp页中通过
session.getAttribute("edu.yale.its.tp.cas.client.filter.user")
在portlet中通过
PortletRequest portletRequest = (PortletRequest)request.getAttribute("javax.portlet.request");
PortletSession portalSession = portletRequest.getPortletSession();
String username = (String)portalSession.getAttribute("edu.yale.its.tp.cas.client.filter.user",PortletSession.APPLICATION_SCOPE);
几种方式都没法获取,也尝试过tomcat的crossContext="true"\emptySessionPath="true"等方式配置,也没法取得,发现cas所setAttribute的session跟portlet的session无法共享属性,如何打破他们之间的session共享?

请javaeye知道的朋友,能分享以下,介绍一下原理,万分感谢!
liukui359 2009-08-08
请问老大你最后是怎么搞定的?谢谢
simonlzs 2010-01-12
你是怎么集成CAS的?能介绍一下吗?
alanwu 2010-01-20
集成CAS,在控制面板-设置(Setting)-授权这里配置
还要导入HTTPS证书

在Liftray的admin指导手册有详细的介绍
alanwu 2010-01-20
String username = (String)portalSession.getAttribute("edu.yale.its.tp.cas.client.filter.user",PortletSession.APPLICATION_SCOPE);

中的"edu.yale.its.tp.cas.client.filter.user"

改成

com.liferay.portal.servlet.filters.sso.cas.CASFilter.SCREEN_NAME

看看
Global site tag (gtag.js) - Google Analytics