当前位置:   article > 正文

spring security 基本原理_springsecurity原理

springsecurity原理

1、过滤器链

spring security本质上就是一个过滤器链(javaweb),由很多个过滤器组成,大概有十几个;

其中比较典型的过滤器:

  1. FilterSecurityInterceptor:是一个方法级(哪些方法能访问,哪些不能访问)过滤器,基本位于过滤器最底部:这个类实现了Filter接口,其中实现了很多方法,doFilter是真正的过滤方法。doFilter方法调用invoke方法,invoke中有before、after方法。
  2. ExceptionTranslationFilter:异常过滤器,用来处理在认证授权过程中抛出的异常,与FilterSecurityInterceptor代码结构类似。
  3. UsernamePasswordAuthenticationFilter:对login的post请求做拦截,校验在表单中的用户名、密码。逻辑是判断是否是post请求方式,如果是获取用户名和密码,验证。

2、过滤器加载过程 

其实spring security出现得比springboot还要早,但是自从有了spirngboot之后,springboot对spring security提供了自动化配置方案,可以使用更少配置来使用。虽然有springboor,还是要了解spring security过滤器加载过程:

3、 两个重要的接口

在spring security应用中会用到两个重要的接口:

  • UserDetailService

       在实际项目中,账号和密码都是从数据库中查询的,所以需要通过自定义的逻辑控制机器认证逻辑。如果需要自定义逻辑时,只需要实现UserDetailService接口(查询用户名和密码的过程)

  • PasswordEncoder

       用于对user对象的密码进行加密

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/67698
推荐阅读
相关标签
  

闽ICP备14008679号