CAS单点登录快速入门
Overview
- SSO(Single Sign-on) in Action(上篇)
- 使用 CAS 在 Tomcat 中实现单点登录
- http://jasig.github.io/cas/4.0.x/planning/Architecture.html
CAS Server/Client Up and Running
See more at:
- https://wiki.jasig.org/display/CASC/CAS+Client+for+Java+3.1
- https://wiki.jasig.org/display/CASC/JA-SIG+Java+Client+Simple+WebApp+Sample
Change Host Name
Modify C:\Windows\System32\drivers\etc\hosts
127.0.0.1 compa
Preparing The Tomcat Servers
Download tomcat.
Preparing And/Or Creating The Certificates
windows:
keytool -genkey -alias app1.company.com -keyalg RSA -storepass changeit
keytool -export -alias app1.company.com -file app1.company.com.cert -storepass changeit
keytool -list -keystore %JAVA_HOME%\jre\lib\security\cacerts -alias app1.company.com -storepass changeit
keytool -delete -keystore %JAVA_HOME%\jre\lib\security\cacerts -alias app1.company.com
keytool -import -file app1.company.com.cert -storepass changeit -keystore %JAVA_HOME%\jre\lib\security\cacerts -alias app1.company.com
keytool -list -v -storepass changeit -alias app1.company.com
Linux:
keytool -genkey -alias cas.company.com -keyalg RSA -storepass changeit
keytool -export -alias cas.company.com -file cas.company.com.cert -storepass changeit
keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -alias cas.company.com -storepass changeit
keytool -delete -keystore $JAVA_HOME/jre/lib/security/cacerts -alias cas.company.com
keytool -import -file cas.company.com.cert -storepass changeit -keystore $JAVA_HOME/jre/lib/security/cacerts -alias cas.company.com
keytool -list -v -storepass changeit -alias cas.company.com
Warning:
- 一个IP地址只能有一个证书,否则可能找到错误的证书发送给对向端(比如浏览器)
Configure Tomcat server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS"keystoreFile="C:/Users/ll/.keystore"keystorePass="changeit"truststoreFile="C:/Java/jdk1.8.0_25/jre/lib/security/cacerts" />
Warning:
- Tomcat的truststoreFile必须指向JRE的keystore(路径为jre/lib/security/cacerts),里面存放对向端的证书(entry类型为trustedCertEntry)。如果不是JRE下的keystore或者store里面没有存放对向端的证书,会报错:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Preparing CAS Server
Download CAS Server, lastest stable version is 4.0.0:
http://downloads.jasig.org/cas/cas-server-4.0.0-release.zip
Generate and Install Certificate:
Preparing The Sample Web Application
Download mywebapp:
https://wiki.jasig.org/download/attachments/13569483/mywebapp.war?version=1&modificationDate=1212097848936&api=v2
CAS Java client (latest stable version is 3.3.3) could be downloaded from:
http://downloads.jasig.org/cas-clients/cas-client-3.3.3-release.zip
Copy CAS Java Client jars to WEB-INF/lib:
* cas-client-core-3.3.3.jar
* slf4j-api-1.7.1.jar
To avoid the following problem: Renew MUST be specified via context parameter or JNDI environment to avoid misconfiguration. You should comment init-param of CAS Authentication Filter
:
<!--<init-param><param-name>renew</param-name><param-value>false</param-value></init-param>-->
And add:
<context-param><param-name>renew</param-name><param-value>false</param-value></context-param>
Change CAS Validation Filter
from org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
to org.jasig.cas.client.validation.Cas10TicketValidationFilter
, and modify related configurations.
<filter><filter-name>CAS Validation Filter</filter-name><!--<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>--> <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class><init-param><param-name>casServerUrlPrefix</param-name><param-value>https://localhost/cas/</param-value></init-param><init-param><param-name>serverName</param-name><param-value>https://localhost:8443</param-value></init-param><!--<init-param><param-name>proxyCallbackUrl</param-name><param-value>https://localhost:8443/mywebapp/proxyCallback</param-value></init-param><init-param><param-name>proxyReceptorUrl</param-name><param-value>/mywebapp/proxyCallback</param-value></init-param>--></filter>
CAS单点登录快速入门相关推荐
- LiveGBS国标视频平台GB28181协议支持CAS单点登录快速对接业务系统
LiveGBS国标视频平台GB28181协议支持CAS单点登录快速对接业务系统 1.如何配置CAS单点登陆 2.单点登录调整测试 3.搭建GB28181视频直播平台 1.如何配置CAS单点登陆 Liv ...
- 华为外部Portal认证 Radius认证计费 实现基于Mac快速认证的Mac无感知认证和结合CAS单点登录统一认证平台和AD域LDAP对接配置
华为外部Portal认证 Radius认证计费 实现基于Mac快速认证的Mac无感知认证 结合CAS单点登录统一认证平台 AD域LDAP对接配置 实现用户名密码实名认证 访客短信认证 二维码扫码 钉钉 ...
- CAS单点登录-配置数据库认证方式
接下来,说一下配置数据库认证单点登录 如果你之前的单点登录搭成功了,之后就简单多了,只需要添加一些配置和jar包即可.若未成功,请参考CAS单点登录入门配置 步骤: 1.引入相关jar包 2.创建数据 ...
- CAS 单点登录/登出 系统
前言: 在我们的实际开发中,更多的是采用分布式系统.那么问题来了,对于分布式系统的登录问题,我们如何解决呢? 如果说我们在每一个系统中都要进行一次登录,那么用户体验度也就差的没法用了.以京东商城为例, ...
- CAS单点登录的实现(二)
这篇文章对CAS单点登录具体实现的一些步骤就行讲述,至于CAS单点登录的实现原理分析,请参看下面这篇文章: CAS单点登录原理分析(一) https://blog.csdn.net/qq_412582 ...
- CAS单点登录的实现
这篇文章对CAS单点登录具体实现的一些步骤就行讲述,至于CAS单点登录的实现原理分析,请参看下面这篇文章: CAS单点登录原理分析(一) https://blog.csdn.net/qq_412582 ...
- cas单点登录原理碎碎念
2019独角兽企业重金招聘Python工程师标准>>> 也许有一天,你去面试,当面试官问你做cas的经验的时候,你会怎么描述? cas单点登录的原理? 单点登录是分为基于sessio ...
- CAS单点登录3--服务端登录页个性化
原理 cas的页面显示控制是集中在\WEB-INF\cas.properties中的cas.viewResolver.basename属性的,其默认值为default_views 所以cas会去cla ...
- web工程中集成cas单点登录
背景 cas的服务端已经搭建成功,现在需要在web项目中集成cas client.我们项目使用spring 1.在pom中配置 <!--cas单点登录 --><dependency& ...
最新文章
- Jquery 将表单序列化为Json对象
- 解决首次运行WebDriverAgent手机开发者未信任问题
- java获取系统语言(区分简体中文和繁体中文)
- c语言拟合线性直线误差最小,急~~~~~~!!!求解!用C语言编写最小二乘法求数据的拟合曲线~并做出图显示拟合效果!高分悬赏!...
- [C++STL]常用算术生成算法
- Spark-自定义累加器-进行字符串拼接(代码及详细实现步骤)
- django2.1支持的mysql版本_一文解决django 2.2与mysql兼容性问题
- Tomcat端口号的修改
- c语言,求素数个数,关于求素数个数的话题
- 小沙的长路(图论+数学)
- 一个优秀程序员必备的软件背景/桌面壁纸/集原美/鬼刀.....
- 税控盘版增值税开票软件日志加密算法分析及解密工具
- html设置列表编号起始值,Word多级编号怎么设置,要按我的要求作为起始值?
- python统计元音字母出现的次数,python统计元音字母个数 python输出元音字母
- Excel快捷键大全,没有最全,只有更全!
- 我国三大常用坐标系:北京54、西安80和WGS-84
- vsftpd 虚拟用户
- 心电算法准确性评价总结
- 4.3.1 求绝对值
- 携程商旅酒店直连平台的实践(一)
热门文章
- java电商项目描述面试,看完跪了
- EC2創建新用戶用秘钥登录
- Google DeepMind在全球使用AI的10种方式
- [Java] 用java来突破一下人类极限
- 嗯嗯嗯 服务器端提供了一个图形验证码地址,ios客户端如何更新呢
- Matlab中的RandStream
- 代码随想录算法训练营Day02 | LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
- Crust 团队出席四川省高科技产业化协会数字化转型专委会成立大会
- 计算机的mac改不了怎么办,Win7无法修改MAC怎么办 不能修改MAC的原因及解决方法...
- 一维黎曼激波管精确解python