自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

joeljx的专栏

java学习的乐园

  • 博客(21)
  • 收藏
  • 关注

原创 CAS单点登录开源框架解读(十七)--ticket失效策略

本文主要讲解ticket的失效判断策略,源码目前还是以开源cas4.2.7版本为主。ticket失效策略的默认使用类ticket的失效可分为两类一个是TGT(TicketGrantingTicket)的失效策略,另外一个是ST(ServiceTicket)的失效策略。结合源码我们可知在创建ticket的时候就必须放入对应的失效策略,针对不同的ticket会放入不同的失效策略,先看看具体有多少种失效策略。具体的失效策略主要是实现ExpirationPolicy这个接口类来完成,然后基于实现的抽象类Abs

2021-01-27 19:51:53 3407 4

原创 CAS单点登录开源框架解读(十六)--单点登录服务端TGC校验,导致无法获取到tgt,响应401

单点登录情况下的现象在单点登录情况,客户端应用接入CAS服务端后,特别是外网环境会经常出现401的问题,要么直接跳转到登录页面,要么就直接响应401。注意此时CAS服务端的TGT并没有超时。只能排查后端的日志信息,开启debug模式看到了如下的后端异常信息: [org.jasig.cas.web.support.TGCCookieRetrievingCookieGenerator] - Inv...

2020-01-21 12:06:09 5665

原创 java实现修改pom.xml中版本信息

在java基于流程化的开发过程中,版本管理一直是开发需要直面的问题。在目前基于maven开发下,由pom完成统一的版本管理,但是在进行目标版本升级时,常常会让人感到头痛。

2021-06-17 11:56:47 2406

原创 前后端分离系统接入CAS单点登录说明(十五)

前后端分离说明目前越来越多的系统采用前后端分离技术来进行构建,这类系统需要接入CAS单点登录系统,是否有很好的解决方案呢?前后端分离之后,前端如何保存数据呢?一般前端的本地存储方式有:localStorage、sessionStorage、cookie、webSQL、indexedDB等。这些技术有什么差异和区别,这个不在此展开。目前情况下一般都会采用localStorage、sessionS...

2019-09-30 11:20:01 2343

原创 CAS单点登录开源框架解读(十四)--CAS单点登录代理模式之代理发送请求CAS服务端校验过程

代理模式下CAS服务端验证票据在上一章节中已经分析代理端发起验证票据的过程,那么接下来我们就要对于CAS单点登录服务端在代理模式下是如何进行接收客户端数据进行校验并返回给客户端的过程进行分析。ServiceValidateController调用“/serviceValidate”AbstractServiceValidateController父类处理具体的请求逻辑...

2019-08-22 18:01:00 389

原创 CAS单点登录开源框架解读(四)--扩展--登录页隐藏属性"execution"值如何产生

这里写自定义目录标题登录流程配置cas-servlet.xml登录流程之执行实现FlowExecutorImpl和FlowExecutionImpl登录流程之Flow和状态类State登录流程之Transition过渡流程判断和ViewState页面初始化准备登录流程配置cas-servlet.xml在登录流程发起之前,先看一些cas是如何通过配置加载到login-webflow.xml这个登...

2019-08-14 18:46:58 1738

原创 CAS单点登录开源框架解读(十三)--CAS单点登录代理模式之代理端验证获取用户身份过程

代理模式访问过程分两步实现代理过程:1、用户先访问CAS单点登录代理端(也就是上一章节中客户端1)的地址 url1:http://localhost:8088/cas-client/test,此地址就是用于普通的单点登录。2、再访问CAS单点登录代理端地址url2:http://localhost:8088/cas-client/proxyServlet在上一章节中我们知道在url的...

2019-04-19 13:45:02 2149

原创 CAS单点登录开源框架解读(十二)--CAS单点登录代理模式之环境配置

环境准备服务器名称访问地址CAS认证服务器http://localhost:8080/casCAS单点登录客户端1(可代理访问客户端2)http://localhost:8088/cas-clientCAS单点登录客户端2(被代理服务端)http://localhost:8087/cas-client-be-used-to-proxyhttp://lo...

2019-04-17 15:00:59 630

原创 CAS单点登录开源框架解读(十一)--CAS单点登录代理模式之概述

解析代理模式在接下来的文章中,我们将对CAS单点登录的代理模式进行解析。讲解如何对代理模式进行使用和测试1. 代理模式时序图下图为CAS单点登录代理模式下的序列图,网摘自https://apereo.github.io/cas/4.2.x/protocol/CAS-Protocol.html。使用场景简单说明:当浏览器用户访问代理应用A,代理应用A中调用了被代理应用B的授权性资源,代理应...

2019-04-17 10:11:39 1172

原创 CAS单点登录开源框架解读(十)--CAS单点登录客户端认证之客户端接收服务端认证信息

客户端如何接收服务端认证信息上一章节我们分析了CAS服务端是如何产生认证信息的,那么这一章节我们将解析客户端是如何接收服务端的认证信息。这里所说的客户端指的是接入CAS单点登录系统的应用,是一个独立的应用。客户端的源码分析都是基于CAS服务端提供的集成包cas-client-core。1. 返回到CommonUtils.getResponseFromServer()在我们分析客户端如何接收服...

2019-04-07 23:05:00 955

原创 CAS单点登录开源框架解读(九)--CAS单点登录客户端认证之服务端验证票据返回认证信息

服务端如何返回用户认证信息上一章节中我们已经知道是通过http请求去到CAS服务端获取信息,根据CAS单点登录客户端的请求地址/serviceValidate,我们再CAS单点登录服务端上通过Springmvc根据url里的/serviceValidate,匹配到@RequestMapping(path="/serviceValidate")1. ticket校验开始:serviceValid...

2019-04-03 15:49:18 5472 2

原创 CAS单点登录开源框架解读(八)--CAS单点登录客户端认证之客户端向服务端发起请求

客户端是如何向服务端发起请求的前面客户端部分讲过,客户端的web.xml里配置了五个filter。下文中会使用序号来表示,具体的过滤器名称可以看上一章节。1. 调用第1个filter首先进入第一个filter:SingleSignOutFilter,因为现在是进行登录认证,没有登出请求,所以什么都没做,进入下一个filter。2. 调用第2个filter*AuthenticationFi...

2019-04-02 15:22:57 1477

原创 CAS单点登录开源框架解读(七)--CAS单点登录客户端认证之客户端过滤拦截

CAS单点登录客户端跳转过程解析,主要针对客户端包cas-client-core用户首次访问CAS单点登录客户端(对应流程图第1步),访问地址:http://localhost:8088/cas-client/1. CAS单点登录客户端被客户端5个filter拦截CAS单点登录客户端总共有5个filter,上述url都能匹配上,所以按顺序进入5个filter 。本文客户端分析源码采用cas...

2019-04-02 11:28:28 2105

原创 CAS单点登录开源框架解读(六)--CAS单点登录服务端认证之用户认证跳转

用户认证之后如何执行后续跳转在上一章节中,我们知道了默认CAS服务端是如何通过配置文件实现用户登录名和密码的认证,下面我们将继续对认证之后的动作处理进行分析。1. 发送TGT之行为状态sendTicketGrantingTicket身份验证成功后进入sendTicketGrantingTicket行为状态。*login-webflow.xml:*<action-state id="...

2019-04-01 09:55:44 2591 4

原创 CAS单点登录开源框架解读(五)--CAS单点登录服务端认证之用户认证

如何进行用户身份认证在第四章节中已经分析了如何输入请求地址跳转到登录页面的流程,下面就要进行登录页面输入用户信息进行用户认证的具体流程。行为状态realSubmit*login-webflow.xml:*<action-state id="realSubmit"> <evaluate expression="authenticati...

2019-03-29 11:25:32 2482 2

原创 CAS单点登录开源框架解读(四)--CAS单点登录服务端认证之通过loginflow进入登录页面

如何通过loginflow进入登录页面上面一章节分析了如何进入流程loginFlowRegistry的相关代码,下面看是如何通过loginFlowRegistry登录流程,进入并展示登录页面。解析AbstractAction由于CAS单点登录采用的是Spring web flow框架进行设计开发的,我们先大致看webflow的架构代码。在上一章节的第6节中我们没有展开说明的登录入口处理...

2019-03-29 11:25:14 4298

原创 CAS单点登录开源框架解读(三)--CAS单点登录服务端认证之loginFlowRegistry流程

如何进入loginFlowRegistry流程1、如何从”/”变为”/login” 在4.2.6源码包中的cas-server-webapp工程下,webapp\WEB-INF\目录下有个web.xml文件,其中有如下的配置。*web.xml:*<welcome-file-list> <welcome-file>index.jsp</welc...

2019-03-29 11:24:45 2846 3

原创 CAS单点登录开源框架解读(二)--环境准备

为了解读代码,我们首先需要获取到CAS单点登录的源码。 源文件及版本 cas-4.2.6.zip cas-client-core-3.4.1.jar spring-webflow-2.4.2.RELEASE.zip spring-framework-4.2.x.zip 环境 操作系统:win7 IDE:eclip...

2019-03-25 18:10:57 874

原创 CAS单点登录开源框架解读(一)--模式说明

CAS单点登录下存在两种登录认证模式,第一种我姑且叫它为普通模式吧,因为这种类型是我们使用的最多的场景;另外一种是代理模式,这种模式不常见,但是CAS单点登录是支持的,也在这里一并说明。采用时序图来进行相关的说明,展示两种模式的不同点。在说展示具体的时序图之前,先把几个概念表达一下。ST(Service Ticket )。ST是CAS为用户签发的访问某一service的票据。用户访问se...

2019-03-25 18:01:00 2164 4

原创 CAS单点登录开源框架解读--序言

计划在19年能够把CAS单点登录的源码进行一个详细的解读,可能理解会有不足,但还是想要坚持下去。CAS单点登录主要用于统一认证中心,实现不同系统之间的单点登录,也即一处登录之后,访问其他系统无需用户再次登录,方便用户在不同系统之间的使用。本次解读大致会从以下几个方面开始:1、CAS单点登录模式说明(普通模式和代理模式)2、CAS单点登录源码环境搭建3、CAS单点登录源...

2019-03-25 18:00:40 779

原创 线性时间选择

最近学习了一些算法自己用java写了一个线性时间选择的。package src.com.joel.java.lineselect;import java.util.Date;import java.util.Random;/*** 线性时间选择算法* @author joeljx* 2010-5-25上午11:35:57*/public class Select {//产生随机位置publ

2010-05-25 22:50:00 484

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除