roller 与 cas 的整合

 

 

 

 roller 4.0.1 http://download.csdn.net/source/2503562

 cas-server-3.3.2  http://download.csdn.net/source/2502112

 还需要下载  cas-client-java-2.1.1 http://download.csdn.net/source/2502040

 mail.jar, activation.jar http://download.csdn.net/source/2503651

 

 所有过程是在 winxp下完成的,linux是不是有什么不同不清楚,不过大概的过程应该差不多吧

 

1.cas 的部署

  cas部署直接把 modules 下的cas-server-webapp-3.3.2.war改名为 cas.war 放到tomcat的webapps目录下就行了,但在这之前需要配置ssl

 

  1) 生成服务端密钥

  cmd 进入到 %CATALINA_HOME% 目录下,

  keytool -genkey -alias passport -keysize 512 -validity 3650 -keyalg RSA -dname "CN=www.passport.com, OU=passport CA, O=passport Inc, L=gz, S=gd, C=cn" -keypass pwd -storepass pwd -keystore passport.keystore

 

  其他的无所谓,但是 -dname "CN=www.passport.com, ... 里 CN 需要为 cas服务器的域名

  2)导出成 cer文件

    keytool -export -trustcacerts -alias passport -file passport.cer -keystore  passport.keystore -storepass pwd

 

 3) 配置tomcat SSL 项

  在 %CATALINA_HOME%/conf 找到 SSL HTTP 

 

   <Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="passport.keystore" keystorePass="pwd" />  

 

这样启动tomcat之后,访问https://www.passport.com:8443 可以看到效果(ie的话,状态栏里有把锁),这里你需要在 hosts文件中添上 

127.0.0.1 www.passport.com

 

  4) 你可以访问 http://www.passport.com:8080/cas 默认情况下登录名和密码相同就行,这仅是测试用的

 

2 roller 配置  (roller可以不放到 cas同一个服务器上)

  把下载包里的 webapp文件夹直接放到 tomcat的webapps目录下就行了

  1)先要通过mysql的ide创建一个 rollerdb数据库,具体名字随你

  2)在 WEB-INF/CLASSES目录下加入一个文件  roller-custom.properties

  内容是

 

installation.type=auto database.configurationType=jdbc database.jdbc.driverClass=com.mysql.jdbc.Driver database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb database.jdbc.username=root database.jdbc.password=password mail.configurationType=properties mail.hostName=smtp.server.com mail.username=test mail.password=testpwd 

 

通过浏览器访问 应用 http://127.0.0.1:8080/roller

会询问你是否要创建表,yes就行了

完成之后,把 auto 改成 manual,如果访问不成功,可能需要把 mysql-connector-java-3.1.11-bin.jar放到 WEB-INF/lib目录下,

另外可能还需要加上 mail.jar, activation.jar两个文件

OK

完成了,这里,你最好先注册几个账户,以便后面通过cas的来测试

 

 3)配置roller的cas登录, 主要修改 WEB-INF/security.xml文件,具体的文件里有介绍,按照他的修改就行了

 

  在继续之前,需要完成以下的任务

  把上面的 passport.cer 文件拷到 roller 服务器上,如果roller与 cas部署在同一台机子上,只需要直接运行下面命令

   将证书导入JVM信任库中

 

  keytool -import -trustcacerts -alias passport -file passport.cer -keystore  "%JRE_HOME%/lib/security/cacerts" -storepass changeit

 

  注意,不要弄错了  "%JRE_HOME%" 的位置,如果装了jdk的话,它可能是 %JAVA_HOME%/jre,也可能是 X:/Program Files/jre ,具体需要看 tomcat的运行在哪个 jre上(通过命令行启动 tomcat,可以看到其打印的 jre_home)

 

  4)  在网上下载cas-client-java-2.1.1,把里面的casclient.jar拷贝到/roller/WEB-INF/lib. 

 

  这样访问 roller时,如果要登录的话,会先访问 cas的

 

  可以参见 roller 

  4.0和cas的集成

  http://hi.baidu.com/avauntage/blog/item/30f7ac0061de368ee850cd61.html

 

  roller 4.0和cas的集成

  http://ajava.org/course/open/14162.html

 

  问题

  我部署时碰到的两个问题,

  1 页面报 no such host name错,在配置 roller的 security时,访问cas的地址应该是 www.passport.com,即与生成密钥的 CN名是一致的

  2 页面报异常 trustAnchors parameter must be non-empty  或者 Unable to validate ProxyTicketValidator

  在roller中似乎不好看这个异常, 但一般会登录不上,这个时候,需要在security.xml中注释掉casProxyTicketValidator  里的 trustSTore属性

 

 

 

你可能感兴趣的:(tomcat,properties,jdbc,ssl,服务器,Scheme)