有个小项目需要用到单点登录。原先是说为了节省开发量所以就用CAS。但是看了半天的文档。折腾服务器。由于e文不好,搜了些中文文档来看。但是都是比较旧的cas版本的。而且基本上都是单机配置。容器也比较单一,基本上都是tomcat的。
为了避免后来人尽量减少折腾这里,把配置写出来。
您看到这篇文档的时候,可能cas又新增新的版本了,如果英文好的话,还是建议查看官网的文档.不好的话建议忍着头皮看,文档当然还是官网的好。
cas官网wiki地址:
https://wiki.jasig.org/display/CASUM/Home
准备:
server环境:
ubuntu 10.10 32bit
jdk1.6
tomcat /usr/local目录下
client环境
windows 32bit
jdk1.6
jboss
cas版本号:
cas-server-3.4.3.1
cas-client-java-2.1.1
A:server https验证配置:下面所有的操作都在root用户下执行。
1.生成.keystore
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
其中第一个要求输入的域,必须为当前的机器命或者是域名。
我是修改了/etc/hosts 将当前ip映射为 testcas.com
所以在第一个输入域中填写的是testcas.com
国家那边如果是中国的话,需要填写CN
这样会生成在当前用户的根目录下就会生成/.keystore文件。我用的是root用户就是/root/.keystore .因为是隐藏文件夹。可以通过 ls -a /root 来查看文件是否生成成功。
2.修改tomcat https配置
tomcat文件夹下/conf/server.xml 查找到8443。tomcat默认是关闭https的。按照下面文档进行配置。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/root/.keystore"
keystorePass="changeit"
/>
其中keystoreFile是上方生成的.keystore的路径
keystorePass是设置的certificate的密码。
3.部署cas server
将cas/modules/cas-server-webapp-3.4.3.1.war 考到 tomcat/webapps 解压,重命名为cas。
修改/WEB-INF/deployerConfigContext.xml
我用的是mysql数据库,如果需要连其他的jdbc官网上有
需要在cas导入额外的jar包如下:
mysql-connector-java-5.0.8-bin.jar
commons-dbcp-1.4.jar
commons-pool-1.5.5.jar
cas-server-support-jdbc-3.4.3.1.jar
Org.springframework.jdbc-3.0.0.M4.jar //spring要根据自己的版本选择
Org.springframework.transaction-3.0.0.M4.jar
注释掉:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
替换:
<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false" lazy-init="default" autowire="default">
<property name="dataSource" ref="casDataSource" />
<property name="tableUsers" value="users" /><!-- user table name-->
<property name="fieldUser" value="name"/>
<property name="fieldPassword" value="password"/>
<property name="passwordEncoder" ref="myPasswordEncoder"/>
</bean>
然后添加 casDataSource ,myPasswordEncoder bean
<!-- jdbc 链接-->
<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></value>
</property>
</bean>
<!-- md5 -->
<bean id="myPasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">
<constructor-arg value="MD5"/>
</bean>
第一个bean是配置mysql jdbc
不解释了,程序员应该都看得懂的。
在client中修改hosts 添加 serverip testcas.com
访问https://testcas.com:8443/cas
输入验证信息,登录成功就行。
B. client 配置。
准备
在client中修改hosts 添加 serverip testcas.com
ping下 看能不能连上。
1.将server服务器的certificate添加到client服务器上,设置为可信。
在服务器端执行
keytool -export -alias tomcat -keypass changeit -file server.crt -keystore .keystore
keytool -import -alias jbosscert -keypass changeit -file server.crt -keystore server.keystore
拷出server.keystore到client服务器上。如: c:\server.keystore
修改client需要cas的应用的web.xml
添加:
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://testcas.com:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://testcas.com:8443/cas/serviceValidate</param-value>
</init-param>
<!-- 这里是client 应用的访问地址-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8089</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlet/HelloWorldExample</url-pattern>
</filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlet/RequestHeaderExample</url-pattern>
</filter-mapping>
如果是直接从eclipse启动jboss的话,在run configuration中,修改sever的 arguments
添加vm arguments
-Djavax.net.ssl.trustStore = "c:/server.keystore"
启动就ok了
如果是命令启动的话
在jboss/bin/run.conf文件里JAVA_OPTS=.....里面加上
-Djavax.net.ssl.trustStore = "c:/server.keystore"
就行了
分享到:
相关推荐
"H6逆变器拓扑:离网并网仿真模型研究,支持多模式功率调节与共模电流抑制",#H6逆变器拓扑并离网仿真模型 逆变器拓扑为:h6逆变器拓扑。 仿真说明: 1.离网时支持非单位功率因数负载。 2.并网时支持功率因数调节。 3.具有共模电流抑制能力(共模电压稳定在Udc 2)。 4.有两种滤波器版本(LC LCL)。 5.LC版本下,参考电流20A时所对应的电流THD约为1%。 此外,采用PR单环控制,具有sogipll锁相环,lcl滤波器。 注:(V0001) Plecs版本4.7.3及以上 ,H6逆变器拓扑;离网仿真;并网仿真;非单位功率因数负载;功率因数调节;共模电流抑制;共模电压稳定;滤波器版本;LC LCL滤波器;PR单环控制;sogipll锁相环;Plecs版本4.7.3,H6逆变器拓扑的并离网仿真模型
大厂PFC与全桥LLC集成变频控制的两相交错TCM图腾柱PWM代码实现方法及优化策略,大厂量产的两相交错TCM图腾柱变频控制PFC+全桥LLC源代码 PFC可通过变频控制实现软开关 ,两相交错TCM; 图腾柱变频控制; PFC; 全桥LLC; 软开关。,大厂高频两相交错TCM图腾柱PFC+全桥LLC变频控制源代码
台达PLC高效自动追剪系统:自动计算,稳定运行,可靠编程的自动化解决方案,台达PLC追剪追剪追剪加+剪切 ,编码器追踪送料速度和送料长度,程序可设置滚轮直径,编码器分辨率,电机分辨率及丝杠导程。 根据输入参数自动计算。 程序带手动正反转,自动追剪切断,带手动复位及回原点,调节方便。 实用已在机床上稳定运行两年,程序成熟可靠,程序是我自己写的算法,时请认准我本人,其他人均为盗版,盗版需谨慎。 台达plc,触摸屏用中达一体机触摸屏。 ,核心关键词:台达PLC;追剪;编码器追踪;送料速度和送料长度;程序设置;滚轮直径;电机分辨率;丝杠导程;自动计算;手动正反转;自动追剪切断;手动复位;回原点;程序成熟可靠;中达一体机触摸屏。,"台达PLC自动化追剪系统:精确编码追踪与手动控制集成"
项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea
# 基于Arduino的BSides Cheltenham 2024 UFO徽章系统 ## 项目简介 这是一个为BSides Cheltenham 2024定制的UFO徽章系统项目。项目包含电路板设计、Arduino代码以及配件清单等。通过此项目,参与者可以制作自己的专属徽章,体验科技与传统结合的乐趣。 ## 项目的主要特性和功能 1. 电路板设计使用Eagle工具设计的电路板,包括PCB文件和元件布局。 2. Arduino代码提供基于ATTiny402微控制器的Arduino代码,用于驱动徽章的硬件功能。 3. 定制设计文件上传了原始矢量设计文件,可根据需要进行修改和个性化定制。 4. 可定制化强可以通过简单的修改代码和更换硬件实现多种功能,比如加入LED灯显示效果、按键交互等。 ## 安装使用步骤 以下步骤假设用户已经下载了本项目的源码文件 1. 获取源码文件下载项目源码文件并解压。
基于西门子S7-200 PLC与组态王软件的洗衣机控制系统设计优化方案 No.710,No.710 基于西门子S7-200 PLC和组态王组态洗衣机控制系统设计 ,基于西门子S7-200 PLC; 洗衣机控制系统设计; 组态王组态; 控制系统设计。,西门子PLC与组态王洗衣控制系统的设计与实施。
2024免费毕业设计成品,包括源码+数据库+往届论文资料 启动教程:https://www.bilibili.com/video/BV11ktveuE2d 讲解视频:https://www.bilibili.com/video/BV1YfkHYwEME 二次开发教程:https://www.bilibili.com/video/BV1Cw2rY1ErC
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea
"西门子224XP与昆仑通态触摸屏结合的螺杆式空压机工频运行系统:程序注释详尽,直接应用于工程实践的变频机替代方案",螺杆式空压机工频运行,变频机不能用使用西门子224xp 十昆仑通态触摸屏,程序有注释,可直接用于工程 ,螺杆式空压机; 工频运行; 变频机; 不可用; 西门子224xp; 昆仑通态触摸屏; 程序注释; 工程使用,"西门子224XP+昆仑通态触摸屏:螺杆空压机工频运行程序"
基于CNN-BiLSTM-SE注意力机制的时序预测模型:MATLAB环境下的数据回归分析与应用评估,基于卷积神经网络-双向长短时记忆网络结合SE注意力机制的时间序列预测(CNN-BiLSTM-SE) 基于MATLAB环境 替自己的数据即可 基本流程:首先通过卷积神经网络CNN进行特征提取,然后通过通道注意力机制SE对不同的特征赋予不同的权重,最后通过双向长短时记忆网络BiLSTM进行时间序列预测 数据回归预测评价指标为RMSE MAE MBE R2 ,核心关键词:卷积神经网络(CNN); 双向长短时记忆网络(BiLSTM); SE注意力机制; 时间序列预测; MATLAB环境; 特征提取; 权重赋予; 数据回归预测; 评价指标(RMSE、MAE、MBE、R2)。,CNN-BiLSTM-SE注意力机制:MATLAB环境下的时间序列预测基本流程
"MATLAB R2018A中基于超高斯全自动组织图像盲彩色反卷积方法研究——一种下采样预设值优化策略及参数设定",MATLAB环境下基于超高斯全自动组织图像盲彩色反卷积方法 算法运行环境为MATLAB R2018A,压缩包=数据+代码+参考。 opts.prescale = 1; %% downsampling opts.xk_iter = 5; %% the iterations opts.k_thresh = 1 20; opts.kernel_size = 51; ,MATLAB;超高斯全自动组织图像盲彩色反卷积方法;R2018A;压缩包;参数设置;opts.prescale;opts.xk_iter;opts.k_thresh;opts.kernel_size,MATLAB超高斯图像盲彩色反卷积算法v1.0
基于Omron PLC与MCGS组态的5层电梯控制系统优化设计:细节分析与工程实现,No.778 基于Omron欧姆龙PLC和MCGS组态5层五层电梯控制系统设计 ,基于Omron PLC; MCGS组态; 5层电梯; 控制系统设计,Omron PLC与MCGS组态五层电梯控制系统设计
"风能储能协同运行模型:永磁风机与储能系统的高效整合及控制策略研究【含详细参数选择与建模过程参考】",风力发电+储能并网协同运行模型【含个人笔记、参数选择参考资料】 包含永磁风机发电机、储能系统、单极单相并离网逆变器及其各自控制系统(也可以按照需求改为三相并网) 永磁直驱风机:机侧变流器采用转速外环电流内环的双闭环控制策略,爬山搜索法实现最大功率点跟踪控制。 储能电池采用buck-boost双向DCDC变器 控制策略采用电压外环电流内环双闭环控制 稳定直流母线电压400V恒定,电压纹波<1% 逆变并网采用单极调制,开关损耗大幅降低 逆变器采用电网电压前馈、电流环、锁相环控制,对于电网中含有的三次谐波有明显的抗干扰效果。 并网电流THD低至1.39%,满足并网要求 附带参考资料、建模过程参考文件夹(万字以上),含参数计算,亦有本人笔记,整理不易 ,风力发电; 储能并网; 永磁风机发电机; 控制系统; 储能系统; DCDC变换器; 电压控制; 逆变并网; 谐波抗干扰; 参数选择。,"协同运行模型:永磁风机储能系统及其控制系统设计与参数选择参考"
"X00133土壤侵蚀分析:R语言源码、数据集与效果图综合展示",X00133-土壤侵蚀数据分析R语言源码,数据集,和效果图 ,X00133;土壤侵蚀数据分析;R语言源码;数据集;效果图,"R语言源码分析X00133土壤侵蚀数据集与效果图展示"
MAC电脑QT安装资源包(一)
锂枝晶生长与隔膜特性研究:隔膜厚度和表面涂层对应力的补充影响分析,相场锂枝晶-隔膜厚度和表面涂层对枝晶生长影响(补充应力) 参考文献:Influences of Separator Thickness and Surface Coating on Lithium Dendrite Growth: A Phase-Field Study ,相场锂枝晶;隔膜厚度;表面涂层;应力;枝晶生长,相场研究:隔膜厚度与表面涂层对应力下锂枝晶生长的影响
项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
基于三菱PLC与MCGS组态技术的自动门控制系统设计策略与应用,No.1074 基于三菱PLC和MCGS组态的自动门控制系统的设计 ,三菱PLC; MCGS组态; 自动门控制系统; 设计; 编号1074,基于三菱PLC与MCGS组态的自动门系统设计No.1074