0%

简介

在实际项目中需要用到ngnix做反向代理,但是做完反向代理后发现子应用无法获取正确的url和端口。比如访问nginx的url为 192.168.1.1/test ,那么现在将/test反向代理到 192.168.1.2:8080/test 这个url下,那么我在 192.168.1.2:8080/test 下就获取端口一直会是80,获取的url不会是访问nginx时的192.168.1.1/test ,这里我们需要对ngnix的配置文件的请求头进行修改加入proxy_set_header HOST $host;属性如下$host代表你访问nginx的访问路径,在路径后加入应用的端口,那么在子应用中就能获取到正确的端口了

阅读全文 »

简介

CAS提供的客户端是基于Servlet写的,也就是说我们如果使用非Servlet应用,那么客户端是无法继承的,项目中使用没有使用Zuul来作为网关,而是使用Gateway,所以我们需要将原有的逻辑迁移到Gateway上

阅读全文 »

简介

项目需求中其中有一个就是根据不同的登录方式,跳转到不同的首页,现实中登录后跳转根据url后的service来做回调,但是在需求中,用户会直接进入到登录页面进行登录,登录页面有不同的登录方式,每一种登录方式成功后都会跳转到不同的页面,如果在访问的时候url中没有带上service参数的回调地址,那么cas会跳转到cas默认的登录页面,并且将登录的一些参数带在url后返回到登录页面,那么要实现这个需求我们只需要改造默认的登录成功页面,根据待在回调url后的参数即可知道是哪一种方式登录的,并根据回调后的参数进行页面跳转

阅读全文 »

简介

CAS提供了单点登录服务功能,但是默认只使用账号密码登录,在现实项目中往往需要添加各种验证因子比如短信和验证码等,通过对源码的跟踪和分析这边简介一下CAS登录验证逻辑的大致流程和如何定制登录代码.

阅读全文 »

简介

最近在搭建CAS单点登录,CAS中使用了Spring Web Flow来构建MVC 应用,需要对Web Flow的基本概念有一定的了解才能进行CAS登录的改造。

阅读全文 »

简介

最近在写一些基于SpringBoot的jar供其它工程调用,学习了一些开源和了解了Spring的自动配置后做了以下总结,在最开始接触Spring时当时网上说Spring基于xml的控制反转和依赖注入可以很好的将代码解耦,当时并不理解,明明依赖还是存在为什么能很好的解耦?直到接触了多模块后才渐渐理解它的含义,在多模块中代码供应商提供统一的接口,犹如一些插件,软件商提供主要接口,接入商负责实现,接入商的又有很多,那么如何做到可插拔开箱即用而各个接入商之间又不互相影响呢?这是依赖注入就很好的解决了这个问题,开发商和接入商不再进行强耦合,而是依赖类似与中间件一样的组件,将实现都由中间去管理,如果我想替换掉某个接入商的实现就在中间中更换接口的实现即可,对供应商的代码无任何影响,这就是Spring做的事。

阅读全文 »

简介

在编写SpringBoot stater时我们会在项目的resources目录下新建META-INF文件夹并且在该目录下新建spring.factories文件,该文件中配置了在SpringBoot开启时需要加载和配置的类,那为什么只要配置了这个文件Spring就能自动去加载这个类呢?这个是因为用到了java的SPI机制

阅读全文 »