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

Step 2:找到cas-server-3.4.10/modules目录,
将cas-server-support-jdbc-3.4.10.jar及相应的数据库驱动包拷贝到cas的lib目录下。
配置完成,重启tomcat,如果报错请检查配置文件或jar包导入是否有错!
测试:用户名密码都输入1

- 6
再换成我们数据库中设置的用户名密码,如果登录成功表示服务器端配置成功!
END
注意事项
- 如果配置了xml文件后无法显示登录界面,请仔细检查xml中的标签是否对称,内容是否正确!
- 数据库为SQlServer2008
CAS单点登录配置[3]:服务器端配置的更多相关文章
- cas 单点登录服务端客户端配置
首先,下载 cas-server-3.5.2-release http://pan.baidu.com/s/1GJ8Gs cas-client-3.2.1-release http://pan.bai ...
- cas单点登录 deployerConfigContext.xml正确配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- CAS单点登录配置[1]:准备工作
关于CAS是什么这里就不在赘述,网友将它比喻成旅游景点的套票,买了一个套票就可以观看所有景点,不需要一个景点买一次票...我们重点介绍CAS单点登录的配置. 工具/原料 1.配置好JDK环境,否则不方 ...
- CAS单点登录(SSO)服务端的部署和配置---连接MySQL进行身份认证
一.修改系统host,加入 127.0.0.1 server.test.com127.0.0.1 client1.test.com127.0.0.1 client2.test.com 二.安装grad ...
- cas单点登录-https的配置(一)
前言 由于个人的兴趣和为了加薪,在这里研究下cas单点登录,同时也记录下自己探索的过程,希望也能帮到有同样兴趣的小伙伴 环境 CAS-5.1.3 tomcat8.5 jdk8 centos6.5 ...
- Liferay7.0与cas单点登录配置
1.简介 Liferay7.0支持多种登录方式,包括:常规的.opensso.cas.ntlm.ldap.openid.Facebook.Google等. 其中, (1) 常规:则是默认Lif ...
- 【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- 【CAS单点登录视频教程】 第03集 -- 配置 tomcat的 ssl
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- CAS单点登录相关配置
一.CAS单点登录服务端的部署 部署 把CAS所对应的war包部署到tomcat中 4.品优购资源V1.3\配套软件\配套软件\CAS\cas.war 配置 更改tomcat的端口号 <Conn ...
随机推荐
- Hibernate事务管理
User类: public class User implements Serializable{ public User(){} private Integer id; private String ...
- error: Error: No resource found that matches the given name (at 'layout_above' with value '@id/btnLayout').
今天在练习fragment碎片的时候,进行界面布局的时候出现了这个问题. 后来解决后发现原因很简单:就是因为在布局xml文件中,引用ID和声明ID的顺序必须保证声明在前,引用在后.和布局的顺序无关. ...
- WinForm界面(一)
一:Form对象 属性: 设计中的Name:窗体类的类名AcceptButton:窗口的确定按钮CancelButton:窗口按ESC的取消按钮 1.外观 Backcolor:背景颜色Forecolo ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- 深入Windows窗体原理及控件重绘技巧
之前有学MFC的同学告诉我觉得Windows的控件重绘难以理解,就算重绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解,如果你有类似的疑惑希望 ...
- Java 链式编程
这里来做一个Java 链式编程的例子,基本就是每次返回一个对象本身,这样就能够去调用对象的方法和属性. package com.sun; public class Demo05 { /** * @pa ...
- JS修改JSON中key的方法
function modifyJosnKey(json,oddkey,newkey){ var val=json[oddkey]; delete json[oddkey]; json[newkey]= ...
- 小技巧之指定refer
在当前页面A的控制台输入window.location.href='要跳去的页面B',B页面的refer即为A页面.
- UIImagePickerController显示中文界面
iOS开发中,我们经常遇到获取拍照.相册中图片的功能,就必然少不了UIImagePickerController,但是我们发现当我们使用它的时候,它的页面是英文的,看着很别扭,国人还是比较喜欢看中文界 ...
- DAG模型——嵌套矩阵
有向无环图上的动态规划是学习动态规划的基础,很多问题都可以转化为DAG上的最长路.最短路或路径计数问题. 嵌套矩阵 有n个矩阵,每个矩阵可以用两个整数a,b描述,表示它的长和宽.矩阵X(a,b)可以嵌 ...