JAVA - 登录 单点登录 cas

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...

cas

配置文件都在下面:

deployer

和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入口

             //应用单点登录工程的service, 工程根地址+/login/cas

                  //票据验证,这里只能用IP

         //这里有2处配置,单点登出,登出后返回的url

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/                             //则会有正确的回跳地址

你可能感兴趣的:(JAVA - 登录 单点登录 cas)