spring boot 学习手册
  • 介绍
  • 基础教程
    • 1.RESTfull API简单项目的快速搭建
    • 2.配置文件详解:Properties和YAML
    • 3.配置文件-多环境配置
    • 4.日志配置-logback和log4j2
  • web应用开发
    • 1.模板引擎
    • 2.模板引擎FreeMarker
    • 3.模板引擎Thymeleaf
    • 4.模板引擎jsp
    • 5.错误处理
    • 6.Servlets, Filters, listeners
    • 7.CORS支持
    • 8.文件上传
    • 9.Interceptor拦截器
    • 10.AOP统一处理Web请求日志
    • 11.全局统一异常处理
    • 12. Retry重试
    • 13.RestTemplate
  • 关系型数据库
    • 1.JdbcTemplate
    • 2.Spring-data-jpa
      • @Id 和 @GeneratedValue 详解
      • 配置与注解备注
      • 全局统一前缀策略
      • 映射关系详解
      • 查询、分页、排序
      • JPA 资料
      • 进阶:jpa自定义行为方法
      • 进阶:锁
      • 进阶:Hibernate Validator
    • 3.事务处理
  • NoSQL数据库
    • 1.Redis
    • 2.Mongodb
  • Cache
    • 1.EhCache
    • 2.Redis
  • 异步消息服务
    • 1.JMS(ActiveMQ)
    • 2.AMQP(RabbitMQ)
  • Mybatis
    • Mybatis 初使用
    • Mybatis环境搭建
    • Mybatis开发流程
    • 业务开发流程
    • Mybatis资料
  • 进阶
    • 1.调用REST服务-使用代理
    • 2.发送邮件
    • 3.Spring Session实现集群-redis
    • 4.如何进行远程调试
    • 5.生产准备-基于HTTP的监控
    • 6.Spring Boot集成mybatis
    • 7.Spring Boot集成Druid
    • 8.Spring Boot集成Swagger
    • 9.生产部署-注意事项和如何使用脚本
  • 升华
    • Jenkins部署Spring Boot
    • 异步处理Http请求
    • FastDFS
    • Docker
    • 定时任务(corn job)
    • 批处理
    • @Async实现异步调用
  • 单元测试
    • WireMock伪造服务
  • 安全
    • 1.Spring Security
      • 认证
    • 2.Apache Shiro
  • TaskExecutor 异步线程池
  • 其他
    • 1.修改启动时显示
    • 2.获取配置文件中的值
    • 3.嵌入式容器
    • 4.配置SSL
    • 5.websocket
    • 6.Spring IO Platform
  • RESTfull API 开发
  • 附录:Eclipse - Spring Tool Suite工具的安装
  • 附录:Eclipse部署Maven
  • 附录:SpringBoot相关模块
  • 附录:注解笔记
  • 资料
  • 开发技巧
  • maven插件
Powered by GitBook
On this page
  • 基本入门
  • 原理
  • 资料

Was this helpful?

  1. 安全

1.Spring Security

Previous安全Next认证

Last updated 5 years ago

Was this helpful?

基本入门

添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

基本配置用户名密码

security.user.name = admin
security.user.password = 123456

以上配置完成后,针对 是所有 访问进行用户密码验证,实际开发中需要进行不同的url进行权限访问控制。

原理

Spring Security 就是一组过滤器组成的链,这组过滤器链放置在REST API前面,所有调用REST API的请求和响应都要经过这组Spring Security 过滤器链,过滤链的顺序是固定的。

用户认证授权

深绿色的方块与图一深绿色的方块对应,进行用户认证授权,认证授权完放入Authentication

获取认证授权后的信息

蓝色方块是保存和获取用户认证信息这个机制相关的一一些类和接口,也就是图1中的REST API内部我们可以使用这些类和接口来获取认证登录后的用户信息

  • Authentication 用来保存用户认证信息的,比如认证时的用户名密码,认证以后获得的当前用户信息

  • SecurityContent 安全上下文,包含着Authentication 这个对象

  • SecurityContextHolderStagegy

  • SecurityContextHolder

示例

Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); // 获取当前登录用户的信息
System.out.println(authentication);
if(authentication != null) {
    System.out.println(authentication.getPrincipal()); // 当前认证后的信息
}

资料

Spring Security 参考手册