CAS的大坑你跳过吗?
2018-08-30 10:59:05,415 WARN [org.jasig.cas.util.SimpleHttpClient] -
错误信息:2019-08-13 18:32:32,687 WARN [org.jasig.cas.util.SimpleHttpClient] -
Common connection failures of this kind are caused by firewall
2019-08-14 20:22:15,886 WARN [org.jasig.cas.util.SimpleHttpClient] -
2019-08-14 20:22:15,886 WARN [org.jasig.cas.util.SimpleHttpClient] -
2019-08-14 20:22:15,888 WARN [org.jasig.cas.util.SimpleHttpClient] -
2019-08-14 20:22:15,887 WARN [org.jasig.cas.util.SimpleHttpClient] -
最后看了cas源码,发现退出的时候cas在获取所有已经登录的客户端的地址,然后判断这些地址是否有效,如果登录的地址为域名的类型会直接跳过,所以我们在客户端配置cas的时候要把域名换成ip地址。就是比如在本地访问项目时localhost,但是在配置cas是不能写localhost,而要替换成127.0.0.1
原文:https://blog.csdn.net/qq_34332207/article/details/84194126
I suspect the reason is the CAS server couldn't send a sign-out message tolocalhost:8080becauselocalhostis resolved in theCASserver's context, so it doesn't actually talk to my local dev environment.
原文:
https://stackoverflow.com/questions/6125527/jasig-cas-single-sign-out-not-working
seller的用户密码从这里查询:
1.1验证登录的2种思路
1.11同时查用户名和密码;
1.1.2只查用户名,然后根据用户名查密码,再去比较;
1.2登录信息保存在哪?
传统项目中,登录信息保存在session中,而session保存在tomcat容器中,而用来命中用户的sessionID是存在cookie中
一个session的作用域在一个tomcat
分布式架构肯定不会用到session
Tomcat无法禁用session,但jsp可以: <%@ page session="false" %>
Session:与redis的共同处
存在于内存中
都有生存时间
在tomcat中,有一个Map,里面用kv的形式存放了sessionid和session的实现。这里的sesstionId存在cookie中。
1.3单点登录
通过CAS实现单点登录...
1.3.1首先要有单点登录的war包
cas是单点登录的一种解决方案,cas server类似于solr,cas server和cas client(各个应用系统)都是web层,和service层没有关系;cas支持多种语言的客户端:php, java
1.3.2
原理:认证系统校验是连接数据库的,ticket实际上就是cookie;
区别于spring security...
配置文件都在下面:
和solr一样,tomcat启动之后,可以直接登录http://localhost:9100/cas/login
这是改了tomcat端口后的结构,除了这个端口,还需要更改cas.properties这个文件:
去掉https验证:
单点登录:要配置请求的服务器地址(cas server)和自己本身服务器的部署地址地址:重定向到cas服务器,完成登录后回到本身服务器的地址:
在web.xml里需要配置...(这是原生的配置)
单点退出:
*********cas开始正式配置服务端,前面都是客户端的配置
(0)更改cas.properties文件配置(cas\WEB-INF\cas.properties) 和去除https
记得配置ip和端口...
(1)单点登录从数据库读取数据校验,以xml的方式进行配置:deployerConfigContext.xml (\apache-tomcat-cas\webapps\cas\WEB-INF)
之后一定要配置cas的jar包,路径:C:\2019_02\apache-tomcat-cas\webapps\cas\WEB-INF\lib
(2)配置登录页面为cas登录页面:改造login.html, path是:cas\WEB-INF\view\jsp\default\ui
(3)出错信息配置:I18N
Summary:
cas服务端真正需要配置的就2个地方:
cas.properties //cas端口
deployerConfigContext.xml //数据库的地方
客户端要配置的地方:
spring-security.xml //samemart-cart-web下的spring-security.xml文件
总共5个地方
cas与spring security搭配(学spring security主要是学配置...)
spring整合了很多东西:
对cas的封装spring-security-cas
springDataRedis对Jedis的封装,springSolr对solrJ的封装,springJMS对JMS的封装
验证地址:
http://localhost:9100/cas/login //如果访问这个则跳转到cas
http://localhost:9106/ //则会有正确的回跳地址