开源门户技术LifeRay portal:
liferay-portal-tomcat-6.1.0-ce-ga1-20120106155615760
Cas3.4集成手册
cas-server-3.4.7-release
打开modules目录 将cas-server-webapp-3.4.7.war 部署到tomcat路径上
cas-server-webapp-3.4.7 更名为cas-web
4.2.3 配置生成数字证书
利用Java的keytool工具生成数字证书
前提:配置好环境变量JAVA_HOME,如本人配置:JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
在cmd下,进入%JAVA_HOME%\jre\lib\security目录
1)生成数字证书
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
(或者keytool -genkey -alias tomcat -keypass changeit -keyalg RSA)
注意:
您的名字与姓氏是什么?[Unknown]:主机名或者域名 (这里要填写正确的主机名或者域名),若在本地做测试则:localhost
2)导出数字证书
keytool -export -alias tomcat -keypass changeit -storepass changeit -file server.cert -keystore server.keystore
3)将数字证书导入当前tomcat所使用jre可信区
keytool -import -alias tomcat -file server.cert -keypass changeit -storepass changeit -keystore cacerts
4.2.4 配置Cas服务器tomcat
复制%JAVA_HOME%\jre\lib\security目录下的server.keystore文件部署了cas工程的tomcat-server根目录下(此步主要用于step3:keystoreFile=”/server.keystore。此步可以省略,则keystoreFile=” %JAVA_HOME%\jre\lib\security\server.keystore”)
修改tomcat-server的server.xml文件,避免tomcat-server与tomcat-client冲突。主要注意以下地方:
Server port=”8005”修改为”8006”
<Connector port="8080" protocol="HTTP/1.1"...修改端口或直接注释掉
为tomcat配置SSL
在tomcat-server的server.xml中加入以下代码
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/server.keystore"
keystorePass="changeit"/>
注意:不同版本的tomcat配置不同
4.2.5 启动Cas 认证服务器
启动tomcat-server,访问https://localhost:8443/cas-web,进入cas登录页面。至此cas服务端tomcat配置完成
4.3 配置cas 数据库验证
4.3.1 新建认证用户表 tb_user,mysql下:
create table tb_user
(
id int not null auto_increment,
username varchar(50) not null,
password varchar(50) not null,
primary key (id)
);
并插入一条数据:
insert into tb_user(username,password)
values('test','098f6bcd4621d373cade4e832627b4f6');
Oracle下:
create table tb_user
(
id number not null,
username varchar2(50) not null,
password varchar2(50) not null
);
并插入一条数据:
insert into tb_user(id,username,password)
values(1,'test','098f6bcd4621d373cade4e832627b4f6');
备注:密码已经用md5加密,密码是:test
在表中添加需要认证的用户数据
4.3.2 配置WebRoot/WEB-INF/deployerConfigContext.xml配置文件
在文件92 行处 删除
<bean
class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
更改为 <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource" />
<property name="sql" value="select password from tb_user where username =?" />
<property name="passwordEncoder" ref="MD5PasswordEncoder"/>
</bean>
在文件最后添加 如下代码
<bean id="auditTrailManager" class="com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager" />
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/cas</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>root</value></property>
</bean>
<bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-arg index="0">
<value>MD5</value>
</constructor-arg>
</bean>
复制:cas-server-3.4.7\modules 下的cas-server-support-jdbc-3.4.7.jar以及相应的数据库驱动包到cas-web的 lib 目录
(若为oracle,即改下相应数据库类型的驱动即可:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>oracle.jdbc.driver.OracleDriver</value></property>
<property name="url"><value>jdbc:oracle:thin:@localhost:1521:orcl</value></property>
<property name="username"><value>lportal</value></property>
<property name="password"><value>lportal</value></property>
</bean>
)
附件:
4.3.3 启动cas认证服务器
输入用户名和密码(都是:test) 提示登录成功
5 Cas 与 LifeRay 集成
5.1 客户端证书 认证
将数字证书导入LifeRay服务器所使用的jre可信区 注意证书路径
server.crt : Cas 使用jre路径 例如C:\Java\jdk1.6.0_10\jre\lib\security
cacerts : LifeRay 使用jre 路径
执行命令:
keytool -import -alias tomcat -file server.cert -keypass changeit -storepass changeit -keystore cacerts
a、然后启动liferay tomcat和cas的tomcat进入liferay的默认首页:http://localhost:8080/
B、点击右上角登录,会跳到cas的登录页面
C、输入用户名和密码都是:test,若都配置正确的话就进入了liferay的默认首页。
若是这个过程出现错误,想重新做一遍的话,进入dos下进入%JAVA_HOME%/jre/lib/security/cacerts那么需要分别运行下列命令行:
keytool -delete -alias tomcat -keystore C:/Java/jdk1.6.0_24/jre/lib/security/cacerts -storepass changeit
keytool -delete -alias tomcat -keystore %JAVA_HOME%/jre/lib/security/cacerts
keytool -delete -alias tomcat -file server.cert
并手动删除server.keystore与server.cert,重新运行以上所有步骤。仔细运行一遍。
下面的这个是在portal-ext.properties文件中为设置cas的属性下设置步骤