首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

cas sever详细方法

2012-11-10 
cas sever详细步骤1.1.cas server准备环境要求:tomcat6.0+jdk1.61.2.cas安装步骤进入linux系统,运行命令ke

cas sever详细步骤
1.1.cas server准备
环境要求: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 />注释掉,加入下面的:

<bean >    <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" 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默认登录页面,输入数据库中的用户名和密码进行验证,显示登录成功,测试完毕。

热点排行