cas和spring secuity整合

版权声明:欢迎转载,请附上转载地址 https://blog.csdn.net/qq_20143059/article/details/83616741

首先了解一下单点登录,目的是为了解决微服务各个服务路径都不同。不可能每访问一个服务都进行登录一下。

登录原理

在第一个项目登录时

1.当第一次访问时,访问http://app.example.com ,当访问服务时候因为没有登录返回给浏览器一个302信息同时返回一个http://locahost/cas/login?service=http%3A%2F%2Fhttp://app.example.com%2Fj_spring_cas_security_check

2.取到项目1返回的地址 ,这个地址就是单点登录服务的地址,单点服务会判断是否已经对单点登录器进行登录。没有就跳转到单点登录页面。

3.当单点登录后会携带用户名密码在单点登录器验证,如果通过返回给浏览器服务1的地址,同时携带了一个ticket。

4.携带ticket重新访问服务1,当服务1接收到请求时,把ticket拿到单点登录器验证,如果成功则给浏览器返回一个cookie.

5.浏览器携带着session再次访问服务1。请求成功。

重新访问服务1

1.浏览器携带着cookie再次访问就可以。

访问服务2

1.访问服务2http://app2.example.com,服务2验证没有登录,返回给单点登录器,

2.浏览器保存着tgc,请求携带TGC发送给单点登录器。单点登录器验证TGC,如果TGC通过就会给浏览器返回一个ticket。

3.然后浏览器会携带着ticket再次请求服务2.然后服务器会去单点登录器验证ticket。接下来就和第一次登录时相同。

猜你喜欢

转载自blog.csdn.net/qq_20143059/article/details/83616741
今日推荐