Cas原理备忘-

解决cas中cookie跨域,导致TGC丢失的问题 TODO 阅读详情

cas原理和流程

经常有新人问我cas的原理,解释了很多遍,有时候会很不耐烦。恰好看到文章单点登陆服务端搭建教程用文字描述的很细致,所以顺手抄录了其中的关键描述。目的是以后有人问,直接把摘录的blog扔给他。

  1. 用户通过browser请求cas client A端的资源。
  2. client A端发现用户未登录(client没有收到ST),redirect到cas server,并且把用户请求服务的url发送给server;server发现用户浏览器中没有TGC(Ticket Granting Cookie),就跳转到登录页面。
  3. 用户在登录页面登录并登录成功。
  4. server在用户的浏览器中设置一个TGC(Ticket Granting Cookie),并且在server端保存一个TGT(Ticket Granting Tciket),然后把用户重定向到{client A网址+ST(Service Ticket)},其中ST是由TGT生成的。
  5. client A端通过GET的方法收到ST,向server端验证这个ticket的有效性,这一步主要是为了防止恶意用{client网址+杜撰的ST}来访问client A,所以虽然ST是server发送给client A的,client A仍然需要向server验证其有效性。
  6. ticket有效,server端返回ticket对应的用户的用户名,client A端为用户提供请求的服务。
上述是未登录的用户访问client A的过程,用户通过以上步骤已经登录了CAS系统,此时他访问CAS系统中信任的client B端,是不用登录的,实现步骤如下:

  1. 用户通过browser请求cas client B端的资源。
  2. client B端发现没有收到ST,redirect到cas server,并且把用户请求服务的url发送给server;server发现用户浏览器中有TGC(Ticket Granting Cookie),验证该TGC后,用server端存储的TGT生成一个ST。
  3. server把用户重定向到{client B网址+ST(Service Ticket)}。
  4. client B端通过GET的方法收到ST,向server端验证这个ticket的有效性.
  5. ticket有效,server端返回ticket对应的用户的用户名,client B端为用户提供请求的服务,这样用户就不用再次登录就可以访问到client B了。
所以从上述过程中,可以看到client端既不能接触到用户的用户名密码,也不能接触到用户的凭证TGT或者TGC,它只做两件事情:如果用户的请求里有ST,那么就向服务器验证ST的有效性;如果用户的请求里没有ST,那么就把用户重定向到cas server;

cas server全权负责管理用户的用户名和密码,如果发现用户的浏览器里面有有效的TGC,就生成ST把用户重定向到client端;如果用户浏览器里面没有TGC或者TGC无效,就让用户重新登录,然后在用户的浏览器里面设置新的TGC。而server和用户浏览器之间的交互是https安全协议,这样就保证了用户的用户名密码的安全性。
CAS5 在使用ip时(无ssl证书)登录无效 现象 在CAS5 进行内网部署的时候发现,每次登录都只是当次有效。重新刷新或新开页面访问无效。 推理 这种情况应该是没有Cas-server会话导致的。 查看浏览器Application里的Cookies,只发现sessionId,没有发现TGC,我已知Cas-server使用TGC作为会话ID 在查看login请求的返回,发现设置sessionId里没有,而设置TGC里有Secure参数,查询后... 阅读详情

相关推荐

ANSYS Fluent H5文件转CAS/DAT格式:原理、方法与自动化实践

在计算流体动力学(CFD)仿真领域,数据格式的兼容性与互操作性是工程实践中的常见挑战。HDF5作为一种高效的层次化数据格式,广泛应用于大规模科学数据的存储,但其原生格式往往与经典、通用的数据交换格式存在兼容壁垒。理解数据格式转换的原理,关键在于掌握不同格式的数据结构映射与序列化机制。对于使用ANSYS Fluent进行仿真的工程师而言,将现代的H5结果文件转换为广泛支持的经典CAS/DAT文件对,具有重要的技术价值。这一过程不仅关乎数据归档的长期可读性,更是实现结果向后处理软件(如Tecplot、ParaV

419

记录一次CAS集成遇到的问题

项目场景: 项目场景:统一门户项目用到了若依前后端分离版本和CAS5.3.14搭建的,相关集成步骤我在之前的文章中已经提到感兴趣的可以移步到此:若依前后端分离版本集成CAS Server5.3_qq_27230853的博客-优快云博客_若依集成cas 若依前后端分离集成CAS后的部署_qq_27230853的博客-优快云博客_若依集成cas 问题描述 在后期客户的使用中,也是由于场景不同遇到了很多问题,下面我们就一一罗列一下然后说说解决方案。客户的电脑都是老机子,上面装的还是360极速浏览器,由

qq_27230853的博客 833

化学气相沉积CVD工艺中MKS下游排气高速节流阀的国产化替代方案及产品

对标MKS、VAT和CDK等国外公司的下游排气高速节流阀系列产品,本文介绍了相应的国产化替代方案和产品。基于CVD工艺,技术方案将下游流量调节阀变为了下游压力调节阀,并采用分体结构,将调压阀与PID控制器分离,调压阀具备大口径和高速功能,电子气控驱动调压阀快速动作,PID控制器接收真空计信号和控制气控驱动阀,可实现阀门全开时间小于0.1秒。

Shanghai_Eyoung的博客 5259

cas5.3.9单点登录-总结遇到的坑

cas5.3.9单点登录-总结遇到的坑前言cas简介术语解释Ticket Grangting Ticket(TGT)Ticket Granting Cookie(TGC)Service Ticket(ST)图解TGC与TGTServer与Client交互过程项目搭建项目文档项目二次开发项目二次开发遇到的问题SSL证书申请cas ticket过期策略cas client单机-单点退出cas clie......

神奇de旋风的博客 1万+

Oracle Primavera P6实战手册:从入门到精通的企业项目管理秘籍

本文详细介绍了Oracle Primavera P6在企业项目管理中的实战应用,从环境配置到高级进度控制技巧,帮助用户从入门到精通。通过WBS设计、资源优化和情景模拟等核心功能,提升项目管理效率。特别适合需要处理复杂项目和多团队协作的企业用户。

weixin_29235923的博客 252

从网格划分到结果解读:一次完整的子弹侵彻LS-DYNA仿真避坑指南

本文详细解析了子弹侵彻LS-DYNA仿真中的关键技术与避坑指南,涵盖网格优化、对称边界条件设置、沙漏控制参数调整及结果可信度验证。通过HyperMesh网格划分和LS-DYNA高级参数配置,帮助工程师提升仿真精度与效率,确保计算结果物理可信。

weixin_29816689的博客 406

CAS单点登录

背景 随着系统业务量的不断增长,单个系统的代码量越来越庞大,内部耦合越来越强,后期维护及扩展相当困难; 一般在这种情况下,我们都会采取对系统进行拆分,形成多个子系统,分开部署; 由于系统的拆分,我们又需要解决单点登录的问题。 CAS单点登录介绍 单点登录,指的是在多个应用系统中,用户只需要进行一次登录,就可以认证访问所有组件系统。单点登录有很多种实现方案,本案例总结主要关注Apereo的CAS实现...

学习 846

医学图像标注工具教程——从零开始使用3D Slicer进行医学图像手动分割

3D Slicer手动分割软件下载及安装数据导入导入CT序列文件夹导入单张超声基本交互操作窗位和窗宽的调整改变切片及寻找特定点对应的三维切片图像分割功能介绍PaintDrawEraseLevel tracingGrow from seedsFill between slicesThreshold & Margin & HollowSmoothingScissors & IslandsLogical operator分割结果的保存 软件下载及安装 下载地址:官网的4.11.0版本 数据

神仙院B栋4楼保安的博客 1万+

CAS客户端过滤器源码备忘

AuthenticationFilter中doFilter方法源码:   view sourceprint? 01.public final void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChai

Be a Man Keep fighting for destination 688

【医学影像】超声(UltraSound)影像的增强与目标检测

文章目录1 综述1.1 超声发展简史1.2 超声类型2 超声影像的去噪与增强2.1 各向异性扩散去噪模型2.2 色彩恢复的视网膜增强算法SSR和MSR2.3 MSRCR增强算法(基于MSR算法改进版)2.4 参考文献3 超声影像的目标识别3.1 基于跨模态数据迁移进行DL训练3.2 参考文献 1 综述 因工作需要,最近调研了超声(UltraSound)影像的相关知识,包含超声类型、超声影像的去噪和增强,目标检测等,并对相关资料文献进行梳理整合。 本人另外一篇博文主要讲了UltraSound 影像与CT/MR

muyijames的博客 1万+

反应动力学仿真软件:CHEMKIN_(12).CHEMKIN与其他软件的接口

通过上述介绍,我们详细探讨了如何将 CHEMKIN 与 MATLAB、Python、COMSOL、Aspen Plus 和 Ansys Fluent 等软件工具进行接口配置和数据交互。这些接口不仅能够显著提升 CHEMKIN 在反应动力学仿真中的应用效果,还能充分利用其他软件工具的强大功能,实现更复杂的数据处理和分析。希望这些内容对您在化学反应动力学仿真中的工作有所帮助。

kkchenjj的博客 1137

单点登录解决方案-CAS

单点登录解决方案-CAS

qq_38472535的博客 81

专为AI打造的浏览器:内存占用仅为Chrome的1/9、比Chrome快11倍(Docker部署教程,支持飞牛nas等服务器部署)

🚀 专为AI打造的无头浏览器来了! 用Zig从零构建,内存仅Chrome的1/9,速度快11倍,原生CDP协议支持Docker部署,适合爬虫、自动化测试和AI代理应用。✨

XiaoqiangClub的博客 730

详解java中CAS机制所导致的问题以及解决——内存顺序冲突

详解java中CAS机制所导致的问题以及解决——内存顺序冲突

weixin_46020146的博客 310

手把手教你学Simulink——基础电机控制场景实例:基于Simulink的永磁同步发电机温度场耦合仿真

摘要:本文详细介绍了基于Simulink的永磁同步发电机(PMSG)电-热耦合仿真方法。通过Simscape Electrical搭建含热端口的PMSG模型,结合集总参数热网络(LPTN)实现损耗计算与温度反馈,分析了过载工况下温升对电阻和永磁体性能的影响。仿真结果表明:150%过载20秒会导致绕组温升132°C,电阻增加42%,磁链衰减10.5%。文章还提供了自然冷却与强迫风冷的对比数据,并建议通过多物理场耦合仿真预防实机过热问题。该方法可有效支撑高功率密度电机热设计,避免永磁体退磁风险。

MHD0815的博客 248

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

juc 学备忘录2--原子变量

package com.wyz.juc; import java.util.concurrent.atomic.AtomicInteger; /** * 1. i++的原子性问题 * int i = 10; * i = i++; * <p> * 底层操作: * int temp = i; * i = i+1; * i = temp; * 结论:i++ 的操作实际上分为三个步骤 “读-改-写” * 2. 原子变量: jdk1.5 后java.util.concurrent.

qq_34699995的博客 170

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

日常备忘记录

20190315:原子操作. 原子:本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为“不可被中断的一个或一系列操作”。线程之间保证原子操作可以用循环CAS(Compare and Swap)的方式。 ...

qq_37894053的博客 500

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

轻松入门CAS系列(1)-轻松看懂企业单点登录的解决方案

轻松入门CAS系列(1)-轻松看懂企业单点登录的解决方案

qq_38472451的博客 81

空幻的备忘录

开发工具 阿里 Java 开发手册 Linux Oracle JDK 下载 安装 配置 使用 Linux Maven 下载 安装 配置 使用 Linux Git 下载 安装 配置 使用 Linux Nginx 下载 安装 配置 使用 Linux Jenkins.war 下载 安装 简单配置 简单使用 Windows 10 下使用 VMPlayer 16 新建 CentOS 7 64位 虚拟机 阿里云 SSH可连 SFTP不可连 Git SSH 密钥配置 IDEA 简单配置 CODING.NET DevOp

mrathena 4256

B\S备忘录15——旁友,票子要伐

研究了几天的单点登录,.Net这边关于单点登录的资料不多,强行让自己看了一波java资料,虽然实现方法有差别,但是原理都是差不多的,应该能用得上。   单点登录,用户只需要登陆一次,就能访问所有其他应用,退出一次,不管再进哪个应用都需要进行登陆。相当于进游乐场买的那张门票,然后一票通,听起来是不是很厉害?话说真的有一票通的游乐场吗- -   其实没有那么厉害的,我们如果使用cas作为单点登录的

Rephilo 1005

Kerberos原理

转载自: Yx.Ac 文章来源: 勇幸|Thinking ( http://www.ahathinking.com )  。 --- 前些日子为了搞清楚Kerberos原理,把 MIT的Kerberos经典对话 看了几遍,终于有了一个稍微清晰的认识,这里稍微记录下,因为Kerberos是使用传统加密技术实现的一个认证机制,所以顺便备忘下关于加密的一些知识概念。本文组织如下:

huyuleizj的博客 1680

从 Volatile 到 ThreadLocal:Java 线程安全机制备忘

本文系统介绍了Java并发编程中的四种同步机制:1. volatile轻量级同步,保证可见性和有序性但不保证原子性,适用于状态标志和低开销读写策略;2. CAS无锁机制,通过硬件指令实现原子操作,适用于原子类和并发集合,但存在ABA问题;3. 互斥同步包括synchronized和ReentrantLock,前者自动管理锁,后者提供更灵活的锁控制;4. ThreadLocal实现线程隔离,InheritableThreadLocal支持父子线程继承,TransmittableThreadLocal适配线程池

niairuochen的博客 521

我的JAVA面试题备忘录

以下是我收集的一些问题,有的是网上摘录的,有的是自己参加面试被问到的,有的是工作或学习时遇到的,等等。 为什么要记录这些呢? 一方面,我相信,这样做对我自己的技术提升是有帮助的。在全文结构上我尽量**使问题连贯地形成知识体系**,而不是堆积的碎片,而且,每个问题我会尽量地给出答案。 另一方面,我希望,有大佬可以指出我的错误。因为我的答案不一定对,尤其那些带 * 的问题。 这份资料将会持续更新,如果有其他问题也可以留言讨论。欢迎交流,共同进步。

子月生的博客 551

ReentrantLock-非公平-非共享 源码备忘录

ReentrantLock ReentrantLock 是日常开发种常用的加锁工具类 这里主要记录一下 他实现的原理 new Thread(() -> { lock.lock(); lock.lock(); System.out.println(Thread.currentThread().getName()); lock.unlock(); }).start();

qq_37421368的博客 157

杂谈锁 备忘

为什么80%的码农都做不了架构师?>>> ...

weixin_34080903的博客 123

多线程无锁算法之无锁队列的实现

多线程无锁算法之无锁队列的实现 今天花了近两个小时的时间好好的理解了一下多线程无锁队列的实现,查看了很多资料和文献。在我看来,实现无锁队列的关键点有二: 1、各个平台的原子操作或者说CAS原语; 2、ABA问题的理解和解决。 首先来说说这个CAS原语,所谓CAS(Compare And Swap)即比较并交换,在 Intel 处理器中,比较并交换通过指令的 cmpxchg 系列实现。

ljh081231的专栏 1万+
上一篇: Netty中用于打印字节流(类似winhex)的工具类及其改进
下一篇: PostGres常用sql锦集(持续更新中,内容会越来越多)
lhever_
博客等级 码龄14年 213粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值