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 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默认登录页面,输入数据库中的用户名和密码进行验证,显示登录成功,测试完毕。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值