CAS5.2x单点登录(一)——搭建cas服务器
系列文章列表:
https://blog.csdn.net/u013825231/article/category/7517313
单点登录的介绍
单点登录(Single Sign On ,简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS(Central Authentication Service)是 Yale大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法。
在5.0版本之前,cas使用的是ssh的那套框架来搞的,网上关于使用xml来配置的资料也是很多。前端也是使用jsp来弄的。所有的东西(连接数据库,自定义加密等等)一系列的东西都是通过写代码,然后在deployerConfigContext.xml里面进行bean的注入,这些我就不讲了,我主要讲的就围绕着5.0版本之后来讲吧,5.0版本之后的最大改变就是引入了现在比较流行的微服务架构也就是spring boot这套,他将之前使用bean注入的换成了spring boot的配置来弄了,以及增加了容器(docker)。网上对于5.0后的内容也是少之又少,因为最近公司让我做这块,然后研究了一阵子,将自己遇到的坑以及怎么一步步的完成设计的过程分享给大家。
工具
jdk1.8u171
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tomcat 8.5 (注意要使用tomcat8版本以上的)
https://tomcat.apache.org/download-80.cgi#8.5.31
cas-overlay-template-5.2.1
为什么要使用cas-overlay呢?刚开始我也是不知道找哪个,下载了主版本,但是发现他是用gradle编译的,习惯maven编译的我想想是有多痛苦,但是没办法就装了个ide,本以为装了后就能编译,后来发现要编译这么多模块,但是好多模块是我们不需要的,还有我们下载下来的每个模块都是有源码的。难道我们要改源码来完成cas的设计吗。还好看了cas的官方说明文档,这里可以自己去github上面看。发现官方提供了一个无侵入式的一套来设计cas,所谓的无侵入式就是你直接打成war包,放到tomcat里面运行,你能运行,你也可以自己建立相应的文件,cas这套他能将你的覆盖掉他原有的(名字路径相同)。通过这样来达到改变代码以及其他东西来完成cas服务器的搭建。好了,废话不多说。先来搭建一波简单的cas服务器,也就是github下载下来的直接放到tomcat来运行的。
首先还是从生成证书开始把,因为cas是需要域名的,而我们可以通过jdk中的keytool生成证书。
keytool是JDK的一个命令,所以,jdk的目录必须在path中,就需要:
- 使用第一个命令:
keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore d:/thekeystore
会出现如图界面,这时候会在d盘生成thekeystore文件。 - 继续下一个命令:
keytool -export -file d:/cas.crt -keystore d:/thekeystore -alias cas
,这时候会生出一个交cas.crt的证书。 - 最后将证书导入到jre中:
keytool -import -file d:/cas.crt -alias cas -keystore "C:\Program Files\Java\jre1.8.0_171\lib\security\cacerts" -storepass changeit,记住要加上jdk的默认密码,也就是
-storepass changeit,这时候会出现下图所示, - 这个过程千万要注意你的路径是否存在空格,这个将导致问题的出现。到这里就完成了证书的生成了,现在就可以继续下一步了。
- 记住证书生成后记得要修改host文件,因为我们是自己生成的证书。修改host文件其实就是将本地的ip对应到你刚才输入的域名,也就是test.test.com, 修改C:\Windows\System32\drivers\etc\hosts ,添加 127.0.0.1 test.test.com
下载cas-overlay
进入这个链接去选择自己想下载的版本,我这边以5.2,也就是master
https://github.com/apereo/cas-overlay-template/tree/5.2
下载好以后,打开看以后应该是这样的目录结构,我们可以直接在里面打开命令行(cmd)运行mvn clean package来进行编译,因为我们这个编译出来的是war包,等pom的jar包下载完后以及编译成功后就会多出一个target文件夹,里面有cas的内容,我们只需要将cas.war(或者直接将cas的文件夹放到tomcat的webapp并启动tomcat)这时候我们访问test.test.com:8080/cas/login就能看到如下的页面,这时候基本的就完成了,这时候就有人问那前面生成的证书也没什么用啊,没错,我们现在的确是没有用到证书,所以这上面不是有两个提醒吗,第一个就是因为我们使用的是http而不是https,所以我们要去配置tomcat。找到tomcat里面的conf中的server.xml将
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
改成下面的
<Connectorprotocol="org.apache.coyote.http11.Http11NioProtocol"port="8080" maxThreads="200"scheme="https" secure="true" SSLEnabled="true"keystoreFile="d:\thekeystore" keystorePass="dsideal"clientAuth="false" sslProtocol="TLS"/>
访问: https://localhost:8080
,
这时候重新启动tomcat,然后继续按刚才的去访问,发现找不到,因为我们之前使用的是http,现在换成https了,你只要加入https就可以出现这个画面:
,这时候我们明显发现那个no-security的提醒已经没有了,cas要求是以域名来访问的(之后整合客户端的时候会讲到)。
剩下的我们就是登录进去,默认的用户名和密码是casuser:Mellon,登录进去就是这个页面。
好了,今天的就到这儿把,下次继续将如何使用动态的数据库以及自定义登录验证还有restful请求都写一下
CAS5.2x单点登录(一)——搭建cas服务器相关推荐
- cas 单点登录_47 使用cas完成单点登录-02 搭建cas client完成单点登录
上一节我们搭建了cas server.这一节我们将搭建两个客户端完成单点登录的测试. 1.前提约束 完成搭建cas serverhttps://www.jianshu.com/p/ed0c1359b8 ...
- SSO之CAS单点登录详细搭建
2019独角兽企业重金招聘Python工程师标准>>> SSO之CAS单点登录详细搭建 : 环境说明: 同一个机器上环境如下: 操作系统:windows7 64位 JDK版本:1.7 ...
- 单点登录系统和CAS的简介
什么是单点登录? 单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统 ...
- cas登录成功什么意思_单点登录系统和CAS的简介
---恢复内容开始--- 什么是单点登录? 单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以 ...
- 单点登录CAS-03:cas配置02-开启/status
单点登录CAS-03:cas配置02-开启/status 1.前言 2.开启/status/dashboard 2.1找到相关的配置项参数 2.1.1 Spring Boot Endpoints属性列 ...
- SSO、单点登录、集成 CAS、OAuth2
SSO.单点登录.集成 CAS.OAuth2 JeeSite 已经默认集成了两种单点登录方式(Single Sign On): 1.SSO(简单登录)接口,实现快速登录系统. 2.与 Apereo C ...
- 单点登录CAS-03:cas配置01-配置文件类型
单点登录CAS-03:cas配置01-配置文件类型 1.前言 2.配置文件分类 3.application.properties详解 3.1springboot相关参数 3.1.1 内置容器配置 3. ...
- SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析
落雨 cas 单点登录 一.用户第一次访问web1应用. ps:上图少画了一条线,那一条线,应该再返回来一条,然后再到server端,画少了一步...谢谢提醒.而且,重定向肯定是从浏览器过去的.我写的 ...
- cas协议,以及tomcat搭建cas服务器
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...
最新文章
- Yolov5总结文档(理论、代码、实验结果)
- reg类型变量综合电路_SystemVerilog的一些可综合实用技巧
- angular 打印 lodop 引入css样式
- nethogs监控linux流量
- Git远程推送和抓取分支
- 【干货下载】聚美优品、中商惠民、倍全,如何让数据驱动“新零售”落地?...
- C语言合并排序实例代码
- 和cnn结合_写给小白的R-CNN介绍
- 实验8 分析一个奇怪的程序
- python-zip方法
- HDU4907小技巧
- Python爬取抖音用户相关数据(目前最方便的方法)
- web.config中特殊字符的处理
- js+div+css下拉导航菜单完整代码
- 数据通信的基础知识(计算机网络 谢希仁)
- 计算机c盘装什么,电脑只有一个C盘!怎么为电脑重装系统?
- 高仿Readhub小程序 微信小程序项目【原】
- 计算机建模与仿真心得,计算机建模与仿真.docx
- 处理 __iob_func 无法链接的问题
- 低调,中国的FPGA到底有多强?
热门文章
- boost::hana::insert_range用法的测试程序
- boost::hana::is_disjoint用法的测试程序
- GDCM:gdcm::ModuleEntry的测试程序
- boost::container实现多态的flat_set
- DCMTK:解压缩DICOM文件
- VTK:Qt之RenderWindowNoUiFile
- VTK:绘图之Diagram
- OpenCV使用蒙版mask过滤图像的实例(附完整代码)
- OpenCV相位校正phase corr的实例(附完整代码)
- OpenCV Image Pyramids影像金字塔