Cas单点登录常见问题总结

Cas单点登录常见问题总结1、访问客户端地址不跳转到cas-server认证界面。因为我没有进入后台,localhost:8010/abc才是后台项目。访问localhost:8010进入的是前端项目,不进入cas的过滤器。2、认证成功之后,还是进不去客户端子系统。认证成功后,卡在了前端登录界面,就是进不去。3、加入Cas配置,但是不生效。首先,找几个简单的具备登录功能的项目,测试一下是否可以单点登录,判断是否是自己操作有误。如果没有错误,那就是项目本身问题,对项目本身了解不够透彻。jar包问题?换cas-serve

大家好,又见面了,我是你们的朋友全栈君。

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,知道了是谁,客户端自然可以进行权限判断。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144893.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 关于交叉线和直通线的区别和用途

    关于交叉线和直通线的区别和用途一般来说,网线传输数据的时候,是两个线发送,另外两根用来接收。比如,我们按照线序1,2,3,4,5,6,7,8(白橙,橙,白绿,蓝,白蓝,绿,白棕,棕)排序。1,2用来发送数据;3,6用来接收数据。具体就是1发3收,2发6收。我们知道,计算机上的网线接口里面也有八条线对应着网线的八条线,而且每台计算机的网线接口里面的线序都是一样的,这样才能实现统一化,不可能为不同的计算机设计不同的线序,也没有必要这样做。当相同设备传输信号时,若用直通线,那么发送数据的计算机的1号线对应接收数据的计算机的1号线,而我们知道

  • linux文本编辑的几种退出方法「建议收藏」

    linux文本编辑的几种退出方法「建议收藏」1.使用Vim的时候便捷方式:(1)ctrl+z退出,fg进入(2)正常模式下输入“:sh”进入linux环境,离开Linuxe环境进入Vim使用exit参考:https://blog.csdn.net/A632189007/article/details/78263459一般方式:输入“:wq”然后回车就退出了,表示先保存再退出按“:q”退出:在任何情况先按键盘上面…

  • idea在线激活服务器(在线激活)

    idea在线激活服务器(在线激活),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • Java中jdk1.8.0-181的下载与配置环境

    下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html我的版本是1.8.0.181,版本不同可能有不一样,安装完成后,需要进行环境变量的配置,右键我的电脑—属性—-高级系统设置就会看到下面的界面:也可以用Ctrl+r,输入sysdm.cpl进入…

  • SPI接口简介-Piyu Dhaker

    SPI接口简介-Piyu DhakerSPI接口简介作者:PiyuDhaker串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以及它们如何帮助减少系统电路板设计中的数字GPIO数量。SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式。本文重点介绍常用的4线SPI接口。接口图1.含主机和从

  • RestTemplate 用法详解「建议收藏」

    RestTemplate 用法详解「建议收藏」上篇文章带大家学习了一下基本的微服务环境搭建,由provider提供服务,consumer通过DiscoveryClient先去eureka上获取provider的服务的地址,获取到地址之后再去调用相关的服务。在服务的调用过程中,使用到了一个工具,叫做RestTemplate,RestTemplate是由Spring提供的一个HTTP请求工具。在上文的案例中,开发者…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号