pigx-cas 单点登录(一)——初识SSO

@(Pigx)[笔记, 单点, 登录]

前言:工作中目前采用CAS,从零开始学习与生产应用实践,这里针对模块知识点,根据本机逐渐记录。

初始CAS

单点登录(Single Sign On ,简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS(Central Authentication Service)即中央认证服务,是一个企业多语言单点登录的解决方案,并成为一个身份验证和授权的综合平台,是 Yale大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法。
CAS 5.0.x版本之后的最大改变就是引入了现在比较流行的微服务架构也就是spring boot这套,他将之前使用bean注入的换成了spring boot的配置来弄了,以及增加了容器(docker)。
CAS 6.0.x版本之后在架构,配置或行为方面发生重大变化,Java 10、Servlet规范v4、spring v5、Spring Boot v2、度量、端点、端点安全、CAS命令行Shell、动态SAML2元数据、Webflow装饰、自适应认证IP智能、Azure MFA集成、Google身份验证器帐户管理、OAuth和OpenID连接JSON输出、OAuth设备流程、OAuth证明密钥代码交换(PKCE)、CAS作为多因素身份验证提供程序、Couchbase审计、SAML2元数据健康状况、OAuth令牌自省、YubiKey账户管理、Nexmo SMS集成

  • Github: https://github.com/apereo/cas
  • 下载链接:https://github.com/apereo/cas/tags
  • 开发文档:https://apereo.github.io/cas/5.3.x/index.html
  • 官网:https://www.apereo.org/projects/cas

工具

Jdk11
Tomcat 9(注意要使用tomcat9版本以上的)
cas-overlay-template-6.0
idea 2018.3 (终极版)

cas-overlay是用gradle编译的,cas的官方说明文档发现官方提供了一个无侵入式的一套来设计cas,所谓的无侵入式就是你直接打成war包,放到tomcat里面运行,你能运行,你也可以自己建立相应的文件,cas这套他能将你的覆盖掉他原有的(名字路径相同)。通过这样来达到改变代码以及其他东西来完成cas服务器的搭建先来搭建一波简单的cas服务器,也就是github下载下来的直接放到tomcat来运行的。

  1. 使用第一个命令:keytool -genkey -alias caskeystore -keyalg RSA -keypass 123456 -storepass 123456 -keystore thekeystore -validity 3600
您的名字与姓氏是什么?[Unknown]:  sso.pig4cloud.com
您的组织单位名称是什么?[Unknown]:  pig4cloud
您的组织名称是什么?[Unknown]:  pigx
您所在的城市或区域名称是什么?[Unknown]:  fuzhou
您所在的省/市/自治区名称是什么?[Unknown]:  fujian
该单位的双字母国家/地区代码是什么?[Unknown]:  china
CN=sso.pig4cloud.com, OU=pig4cloud, O=pigx, L=fuzhou, ST=fujian, C=china是否正确?[否]:  y
  1. 继续下一个命令:keytool -export -trustcacerts -alias caskeystore -file pigcas.crt -keystore thekeystore -storepass 123456,这时候会生出一个交cas.crt的证书。
存储在文件 <pigcas.cer> 中的证书

ls -tlar pigcas.*

-rw-rw-r--. 1 cas cas 2631 3月  20 17:45 thekeystore
-rw-rw-r--. 1 cas cas  901 3月  20 17:46 pigcas.crt

拷贝
cp pigcas.crt /home/cas/app/jdk-11.0.2/lib/security/

  1. 最后将证书导入到jre中:keytool -import -trustcacerts -alias caskeystore -keystore “/home/cas/app/jdk-11.0.2/lib/security/cacerts” -file “/home/cas/app/jdk-11.0.2/lib/security/pigcas.crt” -storepass 123456
警告: 使用 -cacerts 选项访问 cacerts 密钥库
所有者: CN=sso.pig4cloud.com, OU=pig4cloud, O=pigx, L=fuzhou, ST=fujian, C=china
发布者: CN=sso.pig4cloud.com, OU=pig4cloud, O=pigx, L=fuzhou, ST=fujian, C=china
序列号: 7942e78c
生效时间: Wed Mar 20 17:45:56 CST 2019, 失效时间: Fri Jan 26 17:45:56 CST 2029
证书指纹:SHA1: 7D:87:51:81:36:64:99:B7:A1:17:15:43:87:61:25:2A:05:40:5E:3ASHA256: 1B:BC:D3:DA:4B:51:4A:B2:84:EC:A2:02:8A:92:62:33:AA:C5:A8:AC:E4:13:CF:80:34:95:38:80:9B:50:19:DD
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 2B CE 2C CD BE BD 09 A9   C0 FB 0D F0 75 98 BB 6F  +.,.........u..o
0010: 63 82 93 17                                        c...
]
]是否信任此证书? [否]:  y
证书已添加到密钥库中
  1. 记住证书生成后记得要修改host文件,因为我们是自己生成的证书。修改host文件其实就是将本地的ip对应到你刚才输入的域名,也就是sso.pig4cloud.com

下载cas-overlay 6.0

这时候基本的就完成了,这时候就有人问那前面生成的证书也没什么用啊,没错,我们现在的确是没有用到证书,所以这上面不是有两个提醒吗,第一个就是因为我们使用的是http而不是https,所以我们要去配置tomcat。找到tomcat里面的conf中的server.xml将

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true"><SSLHostConfig><Certificate certificateKeystoreFile="/home/cas/tomcat9/tomcat-cas/webapps/thekeystore"type="RSA" certificateKeystoreType="JKS" certificateKeystorePassword="123456"/></SSLHostConfig></Connector>

重新启动tomcat,然后继续按刚才的去访问,发现找不到,因为我们之前使用的是http,现在换成https了,你只要加入https就可以出现,这时候我们明显发现那个no-security的提醒已经没有了,cas要求是以域名来访问的。 剩下的我们就是登录进去,默认的用户名和密码是casuser:Mellon,登录进去就是这个页面。后继将如何使用动态的数据库以及自定义登录验证还有restful请求都补充

pigx-cas 单点登录(一)——初识SSO相关推荐

  1. CAS单点登录(一)——初识SSO

    前言:其实好早就想把CAS的这一套知识整合一下,在工作上也应用到了这块,只是最近才在工作上接触到CAS,所以刚好把这些知识总结一下.这块可能是一个比较大的模块知识点,所以会有多篇文章进行逐一展开,笔者 ...

  2. CAS单点登录(十一)——单点退出

    在前面我们讲解了CAS的单点登录客户端接入,对于CAS的登录有了更清楚的了解,今天我们讲解一下在CAS中的单点退出问题. 首先我们要明白单点退出(单点注销)与注销的区别: 其实官方文档也给我们详细的解 ...

  3. SSO之CAS单点登录详细搭建

    2019独角兽企业重金招聘Python工程师标准>>> SSO之CAS单点登录详细搭建 : 环境说明: 同一个机器上环境如下: 操作系统:windows7 64位 JDK版本:1.7 ...

  4. web工程中集成cas单点登录

    背景 cas的服务端已经搭建成功,现在需要在web项目中集成cas client.我们项目使用spring 1.在pom中配置 <!--cas单点登录 --><dependency& ...

  5. 爆破专栏丨Spring Security系列教程之实现CAS单点登录上篇-概述

    作者:千锋一一哥 前言 从本章节开始,一一哥 会给各位讲解一个很常见也很重要的知识点,就是单点登录!现在的大型分布式项目,基本都会考虑实现单点登录,而且现在网上也有很多单点登录的实现方案.开源项目,但 ...

  6. CAS单点登录原理简单介绍

    1. SSO简介 1.1 单点登录定义 单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统. ...

  7. SpringBoot 简单实现仿CAS单点登录系统

    SpringBoot 简单实现仿CAS单点登录系统 新境界开源开源SSO项目介绍 新境界开源SSO项目实现原理大致如下: 新境界开源SSO项目登录流程介绍 新境界开源SSO项目授权登录流程介绍 新境界 ...

  8. cas单点登录-https的配置(一)

     前言   由于个人的兴趣和为了加薪,在这里研究下cas单点登录,同时也记录下自己探索的过程,希望也能帮到有同样兴趣的小伙伴 环境 CAS-5.1.3 tomcat8.5 jdk8 centos6.5 ...

  9. Cas单点登录的服务器端和客户端的配置

    同事参考网上资料总结出的Cas单点登录的文档,很有学习价值哦 Cas服务器端和客户端的配置 服务器端的配置: 1. 所需的环境: · Tomcat7.2 · JDK6 · CAS Service 版本 ...

最新文章

  1. 一些大佬博客里的个签
  2. 玩转数据结构从入门到进阶四
  3. python常用序列类型_Python基础-序列类型的常用方法
  4. PHP面向对象相关特性
  5. 24期分期免息可以提前还吗?
  6. Spark用DSL表达式如何使用row_number函数
  7. 【三维路径规划】基于matlab麻雀搜索算法无人机三维路径规划【含Matlab源码 171期】
  8. matlab数字图像处理常用操作
  9. facade java_Java中的Facade模式
  10. php元换成万元,数字单位换算(元换算成万元换算器)
  11. windows 网络监控_如何在Windows 10中监控网络使用情况
  12. 前端开发和后端开发哪个难学
  13. 免费的行程单打印软件
  14. 基于STM32F103RCT6实现串口中断发送,使用环形队列
  15. 木马伪装“刷单任务” 劫持QQ语音暗中盗号
  16. ios input不能唤醒_如何使iOS的“唤醒唤醒”每次都能正常工作
  17. matlab图像类论文,基于matlab图形图像处理技术毕设论文.doc
  18. C语言实现FFT or IFFT
  19. excel拆分表格怎么完成?
  20. DevExpress WPF的电子表格组件,让您更快获得Excel体验(二)

热门文章

  1. 18个常见的数据分析面试题-概率统计类
  2. 【opencv-python】 cv2.bitwise_or(...)图像算术运算--按位或运算
  3. 资深设计师们都在用的20个3dsMax建模技巧
  4. 利用U盘进行Windows11系统重装
  5. Python参数传递:值传递和引用传递
  6. windows7安装用于mysql的diesel的坑
  7. Switch 中参数的范围探讨
  8. Android--高德地图后台持续定位
  9. jeecgboot前端开发_JeecgBoot 前端开发随笔
  10. Code signing is required for product type 'Application' in SDK 'iOS 12.2'