前言

项目用到用户的验证和授权框架spring-security,搭完框架之后流程进行了一个大概的了解,再次记录一下

概括

大家都知道spring-security是通过拦截器来实现用户的登陆验证和授权的,这样能更好的保护web资源如下图所示:
spring-security流程粗解
spring-security用到的拦截器众多,我现在只叙述两个拦截器
1、AuthenticationProcessingFilter(认证拦截器,用户登陆的时候使用)
2、AbstractsecurityInterceptor(授权管理拦截器,好吧没有找到合适的名字)

正文

用户登陆时候的流程

spring-security流程粗解

整个流程就是用户登陆界面的信息被拦截器,经过一层层的任务委托来到了UserDetailService这个类上面来实现的验证所以在项目里面我们就需要实现这个类。实现这个类的时候只需要实现loadUserByUsername(String username)这个方法就行,username就是你登陆时候的账号,这个方法返回的User类(Spring)保存了登陆用户的账号,密码和用户角色权限。

访问资源的流程

在用户登陆成功之后访问web资源的时候会经过以下流程:

spring-security流程粗解

在这里可以看到我们需要两个类来完成对资源访问的权限确定,所以在实现与数据库进行关联的权限分配的时候我们需要自定义来实现FilterInvocationSecurityMetadataSource类和AccessDecisionManager类。
在下一章里面来详细介绍如何搭建一个基于SpringBoot整合spring-security的项目(含mybatis)
参考文章:
http://www.blogjava.net/youxia/archive/2008/12/07/244883.html
http://www.importnew.com/20612.html

相关文章:

  • 2021-06-30
  • 2021-05-13
  • 2021-09-05
  • 2021-07-31
  • 2022-12-23
  • 2023-02-15
  • 2021-09-29
  • 2022-12-23
猜你喜欢
  • 2022-01-20
  • 2022-12-23
  • 2022-02-12
  • 2021-11-25
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
相关资源
相似解决方案