CAS服务端配置
1. 产生SERVER的证书库文件
ketool工具详细运用:http://www.micmiu.com/lang/java/keytool-start-guide/
首先确保jdk环境变了正确配置才可以使用keytool工具,检测keytool工具:win+r 打开cmd 输入keytool命令,不报错就ok了
以上操作会在当前目录下产生ssodemo.keystore证书文件
2. 在server端配置tomcat使用HTTPS
- <!--
- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS" />
- -->
- <Connector SSLEnabled="true" clientAuth="false" keystoreFile="D:\test\sso\ssodemo.keystore" keystorePass="111111" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>
注意:keystorePass="111111"(这个问证书库文件的密码,也就是上面配置产生的一个密码)keystoreFile="D:\test\sso\ssodemo.keystore" (这是证书库文件的存放路径)
测试:https://localhost:8443/ 正常显示tomcat主页面
3. 添加cas.war
CAS下载地址:http://www.jasig.org/cas/download
本例用的是:3.5.2.1版本
下载后有个modules文件夹里面有个cas-server-webapp-3.5.2.1.war改名cas.war放在tomcat的webapps下
测试 : https://localhost:8443/cas/login 登录页面 正常显示 默认账号/密码admin /admin
https://localhost:8443/cas/logout 登出
4. 配置 casDataSource
打开文件 /webapps/cas/WEB-INF/deployerConfigContext.xml,添加一个新的 bean 标签
并且将 cas-server-support-jdbc-3.1.1.jar(下载的cas里面modules文件夹有) 拷贝到 /webapps/cas/ WEB-INF/lib
DataStore 依赖于 commons-collections-3.2.jar, commons-dbcp-1.2.1.jar, commons-pool-1.3.jar,mysql jar(驱动jar)
- <bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
- <property name="driverClassName">
- <value>com.mysql.jdbc.Driver</value>
- </property>
- <property name="url">
- <value>jdbc:mysql://localhost:3306/test</value>
- </property>
- <property name="username">
- <value>root</value>
- </property>
- <property name="password">
- <value>123456</value>
- </property>
- </bean>
5. 添加一个新的 bean 查询 QueryDatabaseAuthenticationHandler(在deployerConfigContext.xml里面)
- <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
- <property name="dataSource" ref="casDataSource" />
- <property name="sql"
- value="select password from user where username = ?" />
- <property name="passwordEncoder" ref="MD5PasswordEncoder" ></property>
- </bean>
- 说明:select password from user where username = ? user为登录信息表 username为登录名称 password为登录密码
- passwordEncoder密码为设置密码解密机制,如果不需要解密可以删除
- 添加 MD5PasswordEncoder bean:
- <bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
- <constructor-arg index="0" value="md5" />
- </bean>
6. 自定义MD5 Encoder(如果上面的md5密码验证不符合项目需要)
- <!--数据验证模 我自己实现的MD5接口-->
- <bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.Crypt"></bean>
类的实现(注意包名,和上面的class要一致,把编译的class文件放在cas web应用对应目录下):
- package org.jasig.cas.authentication.handler;
- public class Crypt implements PasswordEncoder{
- /**
- * 进行加密编码
- * @param s 要加密的字符串
- * @return 加密后的字符串
- */
- public String encode(String s)
- {
- MD5 md5=new MD5();
- String ecd=md5.getMD5ofStr(s) ;
- System.out.println("-------- need =["+ecd+"]") ;
- return ecd;
- }
- }
CAS服务端配置的更多相关文章
- 【试水CAS-4.0.3】第06节_CAS服务端配置HTTPS
完整版见https://jadyer.github.io/2012/05/30/tomcat-https/ /** * @see CAS服务端配置HTTPS * @see -------------- ...
- 三、记一次失败的 CAS 搭建 之 服务端配置
==================================================================================================== ...
- cas 服务端、客服端详细配置
一.准备 1.下载官方源码 CAS-Server下载地址:https://www.apereo.org/projects/cas/download-cas CAS-Client下载地址:http:// ...
- 单点登录(SSO)解决方案之 CAS服务端数据源设置及页面改造
接上篇 单点登录(SSO)解决方案之 CAS 入门案例 服务端数据源设置: 开发中,我们登录的user信息都是存在数据库中的,下面说一下如何让用户名密码从我们的数据库表中做验证. 案例中我最终把cas ...
- cas 服务端认证流程
CAS服务端流程分析 'CAS单点登录服务器端的登录流程' -----流程的配置在/WEB-INF/login-webflow.xml文件中 <var name="credential ...
- CAS服务端数据源设置
2.CAS服务端数据源设置 2.1需求分析 我们现在让用户名密码从我们的品优购的user表里做验证 2.2配置数据源 (1)修改cas服务端中web-inf下deployerConfigContext ...
- Oracle10g客户端链接服务端配置
Oracle10g客户端工具plsql链接服务端配置 Oracle10g客户端工具比如plsql,在网络中链接服务端问题比较多中国菜刀,经常出现很多莫名其妙的问题.实际上不是plsql的配置,问题还是 ...
- mpush 服务端配置 for windows 服务自动运行
mpush 服务端配置 以下安装部分是参照官方的步骤, 一.安装jdk1.8并配置环境变量 示例: http://www.cnblogs.com/endv/p/6439860.html 二.Wind ...
- Orleans[NET Core 3.1] 学习笔记(三)( 3 )服务端配置
服务端配置 Silo通过SiloHostBuilder和许多补充选项类以编程方式进行配置. Silo配置有几个关键方面: Orleans集群信息 集群提供程序(不知道咋翻译) Silo到Silo和Cl ...
随机推荐
- Fence Obstacle Course
Fence Obstacle Course 有n个区间自下而上有顺序的排列,标号\(1\sim n\),第i个区间记做\([l_i,r_i]\),现在从第n个区间的起点s出发(显然s在\([l_n,r ...
- Altera设置Virtual Pin
1,GUI方式 大家都知道的,assignment editor –> category –> logic options –> to –> virtual pin –> ...
- 阿里云发布新版SaaS上云工具包,全面助力SaaS上云
9月26日,在云栖大会SaaS加速器专场上,阿里云发布了新版的SaaS上云工具包(SaaS Launch Kit),发布了API网关的新功能,以及推出了全新升级的能力中心. SaaS上云工具包,顾名思 ...
- C/C++语言实现单链表(带头结点)
彻底理解链表中为何使用二级指针或者一级指针的引用 数据结构之链表-链表实现及常用操作(C++篇) C语言实现单链表,主要功能为空链表创建,链表初始化(头插法),链表元素读取,按位置插入,(有序链表)按 ...
- duilib教程之duilib入门简明教程11.部分bug
一.WindowImplBase的bug 在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题, 1.最大化按钮的样式还是没 ...
- BZOJ 2957楼房重建
传送门 线段树 //Twenty #include<cstdio> #include<cstdlib> #include<iostream> #include< ...
- (转)第05节:Fabric.js的动画设置
凡是出色的Canvas库都少不了制作动画的方法,Fabric.js也不例外,它有着编写简单且功能强大的动画助手,这就是animate( )方法. animate主要使用代码如下: rect.anima ...
- Hibernate之OID
在关系数据库中,主键用来识别记录,并保证每天记录的唯一性.在Java语言中,通过比较两个变量所引用对象的内存地址是否相同,或者比较两变量引用的对象是否相等.Hibernate为了解决两者之间的不同,使 ...
- C#实现语音
.net 4.0开始 Type type = Type.GetTypeFromProgID("SAPI.SpVoice"); dynamic spVoice = Activator ...
- Acess link