浏览 2463 次
锁定老帖子 主题:cas sever详细步骤
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-25
环境要求:tomcat6.0+jdk1.6 1.2. cas安装步骤 进入linux系统,运行命令keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -validity 3600 ,在根目录生成.keystore的文件。 进入tomcat目录,修改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="/root/.keystore" keystorePass="changeit"/> 启动tomcat,访问https://server:8443。如果显示tomcat首页,正面配置8443端口已经成功。 拷贝cas-server-webapp-3.3.5.war到server服务器的tomcat下,改名为cas,重启tomcat,访问https://server:8443/cas,显示cas server的首页,输入用户名和密码一样的字符串,显示登录成功页面。Cas server安装成功。 执行命令keytool -export -file server.crt -alias tomcat-server 输入密码:changeit,生成server.crt,用于cas客服端。 1.3. cas server扩展 完成2.2已经完成cas server的安装,但是这个用户名和密码是系统默认的,如果我们要用自己的那套用户名和密码,还需要对cas server进行扩展。当前我们系统要求的是:用户信息存储在数据库,并且采用MD5加密。 打开$CATALINA_HOME\webapp\cas\WEB-INF\deployerConfigCo ntext.xml,找到<bean class="org.jasig.cas.authentication.handler.support.Simple TestUsernamePasswordAuthenticationHandler" />注释掉,加入下面的: <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler" > <property name="sql" value="select password from user where username =?" /> <property name="dataSource" ref="dataSource" /> <property name="passwordEncoder" ref="myPasswordEncoder"/> </bean> 在deployerContext.xml里面加入dataSouce的配置: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-met hod="close"> <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property> <property name="url"><value>jdbc:mysql://192.168.0.175:1433/test</value></property> <property name="username"><value>root</value></property> <property name="password"><value> </value></property> </bean> Cas到数据库验证用户名和密码以上已经完成,下面扩展MD5加密。新建一个java项目,新建一个MyPasswordEncoder的类,代码如下: package com.sz5g.md5; import java.security.MessageDigest; import org.jasig.cas.authentication.handler.PasswordEncoder; public final class MyPasswordEncoder implements PasswordEncoder{ public String encode(String password){ char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; try { byte[] strTemp = password.getBytes(); MessageDigest mdTemp = MessageDigest.getInstance("MD5"); mdTemp.update(strTemp); byte[] md = mdTemp.digest(); int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { return null; } } } 把这个java项目生成jar包,加入到cas安装所在目录的lib下,并且加入cas-server-jdbc-3.0.5-rc2.jar和mysql-connector-java-3.1.12-b in.jar。 在deployContext.xml加入<bean id="myPasswordEncoder" class= "com.sz5g.md5.MyPasswordEncoder"/>配置,重启服务器,配置成功。重启tomcat,验证,扩展成功。访问https://server:8443/cas,显示cas server默认登录页面,输入数据库中的用户名和密码进行验证,显示登录成功,测试完毕。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |