论坛首页 Java企业应用论坛

Howto: 如何使用Liferay 4.2 SSO(cas)功能

浏览 11685 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-21  

于 2007-9-11修改创建证书内容

 

首先从liferay 下载liferay-portal-cas-4.2.0.war 改名为cas-web.war 放到liferay webapp下

修改(创建) ROOT\WEB-INF\classes\portal-ext.properties
添加
auto.login.hooks=com.liferay.portal.security.auth.BasicAutoLogin,com.liferay.portal.security.auth.CASAutoLogin

修改(创建) ROOT\WEB-INF\classes\system-ext.properties
添加
com.liferay.filters.sso.cas.CASFilter=true

随后创建数字证书

首先验证是否已创建过同名的证书

keytool -list -v -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit

如果提示"别名 <tomcat></tomcat>不存在"则说明证书还没有创建

否则请找出原先创建的证书,如果找不到原先证书,则可以使用

keytool -delete -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit

删除已创建的证书

证书一经删除,原先依赖于证书的应用将会出现错误,请谨慎决定.

随后我们创建证书


1.keytool -genkey -alias tomcat -keystore c:\mykeystore  -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass changeit
2.keytool -export -alias tomcat -keystore c:\mykeystore -file c:\mycerts.cer -storepass changeit

3.keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -file c:\mycerts.cer -storepass changeit

修改conf\server.xml
将 SSL HTTP 所在节注释取消,修改为类似

<connector port="8443" maxhttpheadersize="8192"></connector>
 
  1. <Connector port="8443" maxHttpHeaderSize="8192"  
  2. maxThreads="150" minSpareThreads="25" maxSpareThreads="75"    
  3. enableLookups="false" disableUploadTimeout="true"    
  4. acceptCount="100" scheme="https" secure="true"    
  5. clientAuth="false" sslProtocol="TLS"    
  6. URIEncoding="UTF-8" keystoreFile="c:\mykeystore" keystorePass="changeit" keyAlias="tomcat" />  
xml 代码

重起liferay.
登陆时liferay将把登陆页面切换到cas 页面上

由于我们还未调整cas登陆配置,默认使用cas的SimpleTestUsernamePasswordAuthenticationHandler,用户名和密码都是 liferay.com.1

登陆成功后将转回liferay

   发表时间:2007-06-15  
1 keytool -genkey -alias tomcat -keystore c:\mykeystore
当询问 "您的名字与姓氏是什么?" 输入localhost
2 keytool -export -alias tomcat -keystore c:\mykeystore -file c:\mycerts.cer
3 keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -file c:\mycerts.cer
这一段可否讲得再详细一些?
0 请登录后投票
   发表时间:2007-06-15  
我在第三步的时候,当输入密码后,提示:
keytool错误: java.io.IOException: Keystore was tampered with, or password was incorrect
但是密码没有错,我连着试了几次都是相同的错误提示,是怎么回事呢?
请帮忙看看。
0 请登录后投票
   发表时间:2007-06-17  
hawk315 写道
1 keytool -genkey -alias tomcat -keystore c:\mykeystore
当询问 "您的名字与姓氏是什么?" 输入localhost
2 keytool -export -alias tomcat -keystore c:\mykeystore -file c:\mycerts.cer
3 keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -file c:\mycerts.cer
这一段可否讲得再详细一些?


我也不理解,
2 keytool -export -alias tomcat -keystore c:\mykeystore -file c:\mycerts.cer 
3 keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -file c:\mycerts.cer

单点登陆和证书的导入导出有什么关系呢? 
0 请登录后投票
   发表时间:2007-06-18  
应该不是 CAS需要证书,是CAS需要配置 https进行安全通讯,而使用https必须使用证书的原因? 有不明白的地方就是: 配置好https后,用户在浏览器弹出警告窗口后(此证书是由机构XXX),点击确定,就可以与server进行安全通讯了么?
0 请登录后投票
   发表时间:2007-06-29  
re:hawk315
将c:\mykeystore c:\mycerts.cer 删除后重新作一次
0 请登录后投票
   发表时间:2007-06-29  
lyo 写道
应该不是 CAS需要证书,是CAS需要配置 https进行安全通讯,而使用https必须使用证书的原因? 有不明白的地方就是: 配置好https后,用户在浏览器弹出警告窗口后(此证书是由机构XXX),点击确定,就可以与server进行安全通讯了么?


https 主要是数据加密传输,而通过认证机构认证的证书是让你确认你访问的是不是你想访问的公司,就等于你的身份证一样。认证机构是有权威的
0 请登录后投票
   发表时间:2007-07-02  
hawk315 写道
引用

我在第三步的时候,当输入密码后,提示:
keytool错误: java.io.IOException: Keystore was tampered with, or password was incorrect
但是密码没有错,我连着试了几次都是相同的错误提示,是怎么回事呢?
请帮忙看看。

试了n次,终于弄明白这里的密码要输入"changeit",不是第一步的密码。
0 请登录后投票
   发表时间:2007-07-07  
用户名和密码都是 liferay.com.1 登陆成功后将转回liferay
我登录后转到 liferay的登录界面  还要在登录一次 ??怎么直接进入私有社区??

还有登录cas 的用户密码 liferay.com.1,go ahead 在那设置?




0 请登录后投票
   发表时间:2007-08-28  
能不能写的简单明了一些啊?
我按照你写的一步步做下去,根本就不成功啊.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics