前言
由于 Spring Cloud 中的核心验证授权机制是依托于 Spring Security,所以,要搞懂 Spring Cloud Security 的内部运作机制,必须先理清 Spring Security 中的内部运行机理;博主当前采用的是 Brixton 框架搭建的 Spring Cloud,对应的是 Spring Security Core 4.0.4 Release 版本;所以,打算写一系列与之有关的源码分析文章;
本文是对 Spring Security Core 4.0.4 Release 进行源码分析的系列文章之一;
本文主要描述如何搭建 Spring Security 源码分析的环境;
本文为作者的原创作品,转载需注明出处;
源码下载
作者此次分析的目标版本是 Spring Security 4.0.4 Release 版本的内容;
下载地址 https://github.com/spring-projects/spring-security/releases/tag/4.0.4.RELEASE
本地环境搭建
设置 JAVA_HOME 为 JDK 8
Spring Security 推荐使用 JDK 8解压源代码压缩包
可以看到,项目是由 Gradle 构建的构建项目
将所有 Spring Security 所依赖的 Spring 包加入本地的 maven 库
1
> ./gradlew install
编译、测试;构建,分发 zips 以及生成相关的文档
1
> ./gradlew build
使用 Gradle 将工程导入 Eclipse
创建自己的测试工程 test
创建 working set
Spring Security 中的源码工程众多,而且不是严格按照 parent-child 的工程模式创建的;最佳实践便是创建 workingset 将自己的测试工程与 Spring Security 的源码工程分割开来;
Reference
http://docs.spring.io/spring-security/site/docs/4.0.4.RELEASE/reference/htmlsingle/
https://spring.io/guides/topicals/spring-security-architecture/
filter chains in xml: http://docs.spring.io/spring-security/site/docs/3.0.x/reference/security-filter-chain.html#request-matching