你好 Spring Security

你好 Spring Security

本节介绍了如何把 Spring Security 与 Spring Boot 结合使用的最小设置。

完整的本示例程序可以在 spring-security-samples/servlet/spring-boot/java/hello-security at 5.7.x · spring-projects/spring-security-samples · GitHub 仓库中找到。
为了方便您的使用和测试,你可以 单击这里
下载 zip 的版本直接解压后运行。

更新依赖

针对已经下载下来的版本,唯一需要做的就是更新 Maven 或者 Gradle 依赖。

启动 Hello Spring Security Boot 应用

现在,你可以使用 Maven 的插件 run 运行 Spring Boot 应用
下面的代码显示了使用这个插件如何启动这个应用(以及执行本操作的控制台输出):

$ ./mvn spring-boot:run
...
INFO 23689 --- [  restartedMain] .s.s.UserDetailsServiceAutoConfiguration :

Using generated security password: 8e557245-73e2-4286-969a-ff57fe326336

?> 有关这个项目的运行,请参考页面:启动 Hello Spring Security Boot 应用 中的内容。

Spring Boot 自动配置

Spring Boot 自动配置:

  • 在 Spring Boot 中启用 Spring Security 的默认配置。这个配置将会创建一个 servlet Filter(过滤器),这个 Bean 被命名为 springSecurityFilterChain
    这个 Bean 将会在你的应用中负责所有的安全策略,包括但不限于,保护应用 URLs,对提交的用户名和密码进行校验,重定向登录表单等)。
  • 创建一个名为 UserDetailsService 的 bean,使用的用户名为 user,同时对这个用户生成一个随机的密码,并将这个密码输出到控制台中。
  • 针对每个请求都会调用的一个被命名为 springSecurityFilterChain 的 Bean 到 Servlet 容器的 Filter中。

Spring Boot 并没有配置很多,但是却做了很多。
主要的一些特性如下: