SpringSecurity之基本原理图示讲解


前言

不同于spring的其它框架 , SpringSecurity是一款重量级的 , 功能强大web安全框架,需要依赖的内容很多 ,极大地提高了Web开发中安全模块的开发效率


提示:以下是本篇文章正文内容,下面案例可供参考

一、SpringSecurity的功能

举几个例子吧,这在下面大部分都会用到

  1. 提供了除表单登录验证的身份验证以外的多种不同验证方法,如用户证书,LDAP等
  2. 身份验证与用户信息库之间完全独立
  3. 快速搭建Remember-me功能和注销功能
  4. 强制用户仅使用安全的http访问web应用
  5. 能对密码进行加密
    … …

二、基础构建模块与运行流程

1. 图示与简介

SpringSecurity之基本原理图示讲解

图中最核心的是Authentication ,有效身份验证令牌,
该对象以UserDetails的形式,存储当前的用户信息及凭证

以及以GrantedAuthority对象存储访问权

同时 , Authentication对象又是存储在SecurityContextHolder对象中的 , 请求处理期间,由SecurityContextHolder访问该令牌, springsecurity不参与存储令牌这一过程

2.SpringSecurity框架下,HTTP如何访问web页面?

可以确定的是, 在到达web页面之前, http请求必须经过一系列的过滤链(由一个个的filter组成) , 才能到达目的地

SpringSecurity之基本原理图示讲解

重点讲讲UsernamePasswordAuthenticationFilter, 这个过滤器会对POST请求做拦截并验证准确性

如果是使用表单进行登录的话,必须要让URL中能获取出用户名密码


总结

后序会在接下来的文章中详细介绍如何使用SpringSecurity