目录

  • 1、访问客户端地址不跳转到cas-server认证界面。
  • 2、认证成功之后,还是进不去客户端子系统。
  • 3、加入Cas配置,但是不生效。
  • 4、cas的jar包与项目本身jar包有冲突。
  • 5、开启restful接口报错:Method not Found。
  • 6、cas-server与cas-client有很多版本选择问题。
  • 7、多个客户端之间的密码校验方式不同。
  • 8、为什么推荐使用域名,不使用localhost。
  • 9、普通登录方式和cas登录方式可以共存吗。
  • 10、想让它跳转向8080的认证界面,而不是默认的login.jsp。
  • 11、过滤器顺序问题。
  • 12、所有的请求都是200,302已经成功,但页面就是不跳转,不重定向。
  • 13、前后端分离项目客户端集成的两个前提。
  • 14、TGT,TICKET有效期。
  • 15、拦截器与过滤器的区别。
  • 16、保证前后端的session一致,为什么还是进不去。
  • 17、客户端子系统如何获取当前单点登录用户。
  • 18、登录之后,权限问题。

1、访问客户端地址不跳转到cas-server认证界面。

cas-client内置认证过滤器,经过这个过滤器就会重定向到cas-server认证界面。但是为什么有的客户端为什么没有重定向呢?

因为没有进入后台,尤其是前后端分离项目。

localhost:8010/abc才是后台项目。

访问localhost:8010进入的是前端项目,不进入cas的过滤器。

2、认证成功之后,还是进不去客户端子系统。

认证成功后,卡在了前端登录界面,就是进不去。

认证成功后的跳转路径是否经过了后端的校验过滤器。

前后端是否使用了同一个session。

前端对登录状态有独立判断。

3、加入Cas配置,但是不生效。

找几个简单的具备登录功能的项目,测试一下是否可以单点登录,判断是否是自己操作有误。

如果没有错误,那就是项目本身问题,比如对项目安全框架不了解。

4、cas的jar包与项目本身jar包有冲突。

放进去jar包,启动失败。

首先考虑是jar包冲突,换不同版本的jar包。

还是不行,就仔细看日志,不放过任何一行。

你所认为不可能的,往往就是真实答案。

比如,我在整合一个客户端时,根据报错信息指示,新建一个文件夹,名称为:simple-jndi

加入Cas的jar包,启动就报错。不加Cas的jar包,一点问题都没有。

新建一个文件夹就好了,空白文件夹,启动后,文件夹也是空白的,毫无作用,但就是解决了jar包问题。

5、开启restful接口报错:Method not Found。

这种错误代表已经开启了restful接口。

报错就代表你成功了,狗血剧情。

6、cas-server与cas-client有很多版本选择问题。

是否会有版本冲突,比如cas-server与cas-client不对应,会造成错误吗。

不会,cas-server独立部署,cas-client也是独立部署。

在他们部署的过程中,把自己装好就可以了,熟悉自己使用的版本,不能随便从网上找一段配置就直接用。

用旧不用新。

cas-server推荐使用4.x版本。

cas-client推荐使用3.2.x版本。

7、多个客户端之间的密码校验方式不同。

Cas单点登录,将用户中心这一套登录逻辑独立出去。

原先的登录逻辑都暂停了,保留不使用。

在cas-server端,一个企业内部,用户系统是统一的,随便选择出一套密码校验作为cas-server的即可。

8、为什么推荐使用域名,不使用localhost。

分布式部署中,使用localhost,每一个服务器都会从本机进行查询。

9、普通登录方式和cas登录方式可以共存吗。

可以,只要你水平够牛,nothing is impossible。

10、想让它跳转向8080的认证界面,而不是默认的login.jsp。

安全框架问题。

在security配置文件里设置,这个接口不会会或者不会跳转即可,security框架控制某些接口不跳转。

11、过滤器顺序问题。

@Order

过滤器的顺序是一定不可以忽略的,比如在web.xml文件中

有Cas的认证过滤器,校验过滤器,有项目的字符编码过滤器。

如果你将字符编码过滤器放在了最下边,就会导致乱码问题出现。

12、所有的请求都是200,302已经成功,但页面就是不跳转,不重定向。

按出来F12,看到请求都正常,但是页面就是不动。

检查登录接口。

检查JS回调函数。

13、前后端分离项目客户端集成的两个前提。

认证成功后,访问客户端必须是经过过滤器的。

前后端同一个session。

这种前提不是固定死的,根据本身项目情况不是必要的。

但是认证成功后,访问客户端必须经过过滤器,这个前提是统一的,必须完成的。

14、TGT,TICKET有效期。

Ticket默认生存时间为10秒。

TGT默认生存时间为2小时。

为了安全着想,可以考虑将Ticket与TGT时间放短。

15、拦截器与过滤器的区别。

cas-client中使用了过滤器与监听器。

过滤器>拦截器。

请求到来时,先经过过滤器,再经过拦截器。

1、拦截器是被Spring容器管理的,过滤器不可以使用IOC中的bean进行业务处理。

2、过滤器只在servlet前后起作用,拦截器深入controller方法前后,异常抛出前后。

16、保证前后端的session一致,为什么还是进不去。

因为前端还有判断。

17、客户端子系统如何获取当前单点登录用户。

session里没有我需要的uid了,怎么办?

你可以使用上下文,也可以使用cas-client提供的接口。

HttpServletRequestWrapperFilter

String user = request.getUserPrincipal().toString();

String name = request.getRemoteUser();

18、登录之后,权限问题。

通过cas-server认证后,权限判断是哪里判断的。

有了uid,知道了是谁,客户端自然可以进行权限判断。

Cas单点登录常见问题总结相关推荐

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

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

  2. cas单点登录原理碎碎念

    2019独角兽企业重金招聘Python工程师标准>>> 也许有一天,你去面试,当面试官问你做cas的经验的时候,你会怎么描述? cas单点登录的原理? 单点登录是分为基于sessio ...

  3. CAS单点登录3--服务端登录页个性化

    原理 cas的页面显示控制是集中在\WEB-INF\cas.properties中的cas.viewResolver.basename属性的,其默认值为default_views 所以cas会去cla ...

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

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

  5. 终于把单点登录完整流程图画明白了!史上最完整的CAS单点登录完整图解!

    CAS单点登录 本人也是初次接触CAS,有问题还请指正. 什么是单点登录 比如说百度,在浏览器中登录百度贴吧之后,百度的其他网站也同步登录了:退出百度贴吧之后,百度的其他网站也同步退出了. 简单来说就 ...

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

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

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

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

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

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

  9. 利用memcached实现CAS单点登录集群部署

    前言:利用memcached实现CAS单点登录集群部署 负载均衡: 将接口请求的有状态性变成无状态性.是我们在实现负载均衡时必要要解决的问题.以应用接口的session状态为例,一般解决方法都是将se ...

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

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

最新文章

  1. 自定义控件 DotNetBar
  2. mapreduce编程初级实践_涨姿势!2020最好的 10 大国外编程学习网站
  3. P1060 开心的金明(01背包)
  4. 002——php字符串中的处理函数(一)
  5. 华为云专属月·行业深耕专项行动正式开启
  6. UI设计素材干货模板|移动按钮的“悬停效果”
  7. 使用jsp页面查看jvm使用情况
  8. 你的目的是什么是谁指使你_零基础是一种回归初心的思考:写作的目的是什么?怎么写?写谁?...
  9. 6月6号=》80页-100页
  10. 【恋上数据结构】希尔排序
  11. linux opencv移植教程,OpenCV在Ubuntu和Linux系统下的移植
  12. 使用python制作ArcGIS插件(4)界面交互
  13. 深度学习14-实战三-Google涂鸦识别挑战项目(上)
  14. 中国行政区域划分图 华北,东北,华东,中南,西南,西北
  15. 固定效应还是随机效应?
  16. labview 游戏 打地鼠
  17. 贪婪洞窟2一直显示连接服务器失败,《贪婪洞窟2》登陆失败解决方法 进不去怎么解决...
  18. Lake Shore PT-100铂电阻温度传感器
  19. 域名转为服务器IP地址的几种方式
  20. android Java 笔试考题

热门文章

  1. STM32 USB接口 一键下载电路详解与过程分析
  2. 动态代理(JDK动态代理)初步详解
  3. 代挂管家易开源7.4+web版
  4. 小西笔划输入法 一款可以让你像打五笔那样打笔划输入法的
  5. opencv-python API 官网文档
  6. Linux基础知识汇总、有这一篇就够了(2021最新整理)
  7. 数据仓库分层设计思想
  8. 实用开发工具及框架概述
  9. linux视频补帧,SVP(电脑视频补帧软件) V4.3.180 Linux版
  10. 《操作系统实验》C++实现时间片轮转调度算法