在 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 产品如何安装了。