Spring Security 源码分析一:源代码环境搭建

前言

由于 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

本地环境搭建

  1. 设置 JAVA_HOME 为 JDK 8
    Spring Security 推荐使用 JDK 8

  2. 解压源代码压缩包
    可以看到,项目是由 Gradle 构建的

  3. 构建项目

    • 将所有 Spring Security 所依赖的 Spring 包加入本地的 maven 库

      1
      > ./gradlew install
    • 编译、测试;构建,分发 zips 以及生成相关的文档

      1
      > ./gradlew build
  4. 使用 Gradle 将工程导入 Eclipse

  5. 创建自己的测试工程 test

  6. 创建 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