IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SSO单点登录(一)创建CAS服务端 -> 正文阅读

[Java知识库]SSO单点登录(一)创建CAS服务端

背景
在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。

但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次登录,而且每个系统的账号都不一样,这对于运营人员来说,很不方便。于是,就想到是不是可以在一个系统登录,其他系统就不用登录了呢?这就是单点登录要解决的问题。

什么是单点登录?

单点登录英文全称Single Sign On,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。

什么是CAS?

CAS就是为了实现单点登录的一个框架,其他的关于单点登录和CAS的介绍,可以自己百度下。

推荐一个CAS的入门视频,这个入门挺好的。SSO单点登录技术CAS-快速上手与原理探究-学习视频教程-腾讯课堂??????

这篇文章只有CAS的服务端,而且只是简单的创建,不涉及到与其他框架的整合,废话不多说,上代码。

环境:

1、Tomcat 版本 apache-tomcat-8.5.73。

2、CAS服务端 5.3版本,CAS服务端是一个maven项目。

3、JDK版本:1.8

步骤如下:

1、下载CAS服务端

?下载地址:GitHub - apereo/cas-overlay-template at 5.3

2、通过idea打开CAS项目

CAS服务端下载好后,使用idea打开,打开后如图:

?

?3、配置tomcat

这里需要注意,由于CAS 5.3版本默认的是https协议,所以这里配置tomcat时,想要给tomcat配置ssl证书。

给tomcat配置ssl证书:tomca7 配置 SSL 证书_我是混IT圈的-CSDN博客

也可以不配置ssl证书,只是如果是要上线,还是配置下,安全些。

4、启动tomcat,来看看效果

注意,这里的启动时间有点久,需要多等等。

登录链接:https://localhost:8443/cas_overlay_war/login

用户名和密码默认是:casuser? ? ?Mellon

登录成功后的界面:

?如果想要退出,那么退出的链接是:https://localhost:8443/cas_overlay_war/logout

5、说说配置文件

1、如果想要配置CAS服务端不使用https,而是使用http,需要修改两个地方。

????????1)配置文件路径:/WEB-INF/classes/application.properties

# Service Registry(服务注册)
# 开启识别Json文件,默认false,这里就是开启识别 services 中的json文件的
cas.serviceRegistry.initFromJson=true
# 保存tgc,去掉https协议,使用http协议。
cas.tgc.secure=false

????????2)配置文件路径:/WEB-INF/classes/services/HTTPSandIMAPS-10000001.json

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|http|imaps)://.*",
  "name" : "HTTPS and IMAPS",
  "id" : 10000001,
  "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
  "evaluationOrder" : 10000
}

在serviceId中添加可以http就好了。

serviceId:服务来源,就是客户端的服务可以被CAS服务端接受到。

2、CAS服务端的默认密码在?/WEB-INF/classes/application.properties?

cas.authn.accept.users=casuser::Mellon

这个默认密码是写死的,在实际开发中,都是通过数据库去查询账号密码的。

3、CAS服务退出时,是否需要确认下,这里的确认是CAS服务端的,实际开发中肯定不会要这个的。

#在退出时是否需要 确认一下  true确认 false直接退出
cas.logout.confirmLogout=false

4、CAS客户端退出时,指定退出的跳转页面

# 默认情况下退出登录时,页面将会跳转到CAS服务器内部的注销页面 casLogoutView.jsp ,
# 如果我们需要在退出登录后,跳转到指定页面,需要将下列参数设为true,在退出登录的url里需要添加service参数,
# 该参数指定在注销后需要跳转的页面,配置允许登出后跳转到指定页面,
cas.logout.followServiceRedirects=true
#跳转到指定页面需要的参数名为 service(default)
cas.logout.redirectParameter=service

列如:

CAS默认的退出:

<a href="http://sso.cas.com:8080/cas/logout">退出</a>

配置自定义跳转页面的退出,如下:

<a href="http://sso.cas.com:8080/cas/logout?servicehttp://b.cas.com:8889/list">退出</a>

下一篇文章,SpringBoot 创建CAS的客户端?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:48:10  更:2021-12-14 15:49:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:40:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码