在准备工作,证书生成等工作完成后,本篇介绍服务器端的配置。
JDK配置
1我们将生成的cacerts文件分别拷贝到JDK目录下的jre/lib/security目录下及JRE对应的目录中,如果之前存在此文件,请替换;
END
Tomcat配置
1Step1:将除了cacerts之外所有的证书文件拷贝到tomcat的根目录下,如果服务器端和客户端共用一个tomcat只需要拷贝一次,否则有几个tomcat就拷贝几次。
Step2:修改Tomcat的conf/server.xml配置文件,找到如下配置代码:
<Connectorport="8443"protocol="HTTP/1.1"SSLEnabled="true"
maxThreads="150"scheme="https"secure="true"
clientAuth="false"sslProtocol="TLS"/>
**************************************************************
修改为:
<Connectorprotocol="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="D:/Develop/Tomcat7.0.55/server.keystore"
keystorePass="changeit"/>
[注意]此处SSL的port为8443,如果希望访问时不带端口号可以改为默认的443端口,keystoreFile指向我们复制的server.keystore文件,keystorePass则是密码信息。
END
数据库配置
Step1:由于CAS默认策略是用户名=密码,即登录成功,这显然不安全,打开tomcat安装目录下按webapps/cas/WEB-INF找到deployerConfigContext.xml修改如下两处:
第一处:
将<bean class=
"org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>
改为:
<beanclass="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<propertyname="dataSource"ref="dataSource"></property>
<propertyname="sql"value="selectpasswordfromtbl_userwherelogin_name=?">
</property>
<propertyname="passwordEncoder"ref="MD5PasswordEncoder"></property>
</bean>
*****************************************************************
从tbl_user中查询用户名密码,表结构如下。
第二处:
在</beans>之前添加
<bean id="auditTrailManager"class=
"com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager"/>
<bean
id="MD5PasswordEncoder"class=
"org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-argindex="0">
<value>MD5</value>
</constructor-arg>
</bean>
<bean
id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver
</value>
</property>
<propertyname="url">
<value>jdbc:sqlserver://localhost:1433;DatabaseName=m2m
</value>
</property>
<propertyname="username"><value>sa</value></property>
<propertyname="password">
<value>databaseadmin</value>
</property>
</bean>
此处使用SQLServer数据库,若是其他数据库加粗倾斜部分需要修改。
数据表结构如下图:
[注意]数据源是SQLServer,做完如上配置还要到数据库里面建立相应的表,与配置中的字段对应,另外此处采用了32位MD5加密算法,所以数据库中的密码字段必须也要采用MD5加密。
[附]:
admin88832位MD5密文:7fef6171469e80d32c0559f88b377245
先不要急着运行,缺少Jar包会报错...
Step2:找到cas-server-3.4.10/modules目录,
将cas-server-support-jdbc-3.4.10.jar及相应的数据库驱动包拷贝到cas的lib目录下。
配置完成,重启tomcat,如果报错请检查配置文件或jar包导入是否有错!
测试:用户名密码都输入1
6
再换成我们数据库中设置的用户名密码,如果登录成功表示服务器端配置成功!
END