在liferay的ROOT/WEB-INF/lib中有一个portal-impl.jar,里面有一个portal.properties,此文件中已经配置了CAS,Siteminder,LDAP等配置参数,只不过是已经被注释掉了,找到cas.auth.enabled,默认为false,改为true,然后修改下面的参数:
cas.login.url=https://yourcasserver:8443/cas/login
cas.logout.url=https:// yourcasserver:8443/cas/logout
cas.server.name=localhost:8080
cas.service.url=
#cas.service.url=http://localhost:8080/c/portal/login
cas.validate.url=https:// yourcasserver:8443/cas/proxyValidate
即可,当然前提是你已配置好了CAS Server。在这里配置好参数后,web.xml里不用做任何修改,liferay在web.xml已经配置好了CAS Filter,另外caslicent.jar包在ROOT/WEB-INF/lib目录已经有了,不用自己去找了。
如何测试liferay的单点登陆?在配置liferay的sso之前,可用test@liferay.com/test进入系统,通过一个admin的用户管理portlet增加一个用户如testme,等会可用此帐号进行测试。
现在我们再配置一个web应用,并配置好CAS filter,配置好后,访问这个web应用中的某个页面,则会跳转到cas登陆页面,cas登陆成功后,在当前的url再输入http://localhost:8080/c/portal/login,则门户会自动跳转到登陆成功后的用户页面。
说明:因cas产品的配置方式以前以写过blog了,所以这里不介绍cas产品如何安装了。