前言
不同于spring的其它框架 , SpringSecurity是一款重量级的 , 功能强大web安全框架,需要依赖的内容很多 ,极大地提高了Web开发中安全模块的开发效率
提示:以下是本篇文章正文内容,下面案例可供参考
一、SpringSecurity的功能
举几个例子吧,这在下面大部分都会用到
- 提供了除表单登录验证的身份验证以外的多种不同验证方法,如用户证书,LDAP等
- 身份验证与用户信息库之间完全独立
- 快速搭建Remember-me功能和注销功能
- 强制用户仅使用安全的http访问web应用
- 能对密码进行加密
… …
二、基础构建模块与运行流程
1. 图示与简介
图中最核心的是Authentication
,有效身份验证令牌,
该对象以UserDetails
的形式,存储当前的用户信息及凭证
以及以GrantedAuthority
对象存储访问权
同时 , Authentication
对象又是存储在SecurityContextHolder
对象中的 , 请求处理期间,由SecurityContextHolder
访问该令牌, springsecurity不参与存储令牌这一过程
2.SpringSecurity框架下,HTTP如何访问web页面?
可以确定的是, 在到达web页面之前, http请求必须经过一系列的过滤链(由一个个的filter组成) , 才能到达目的地
重点讲讲UsernamePasswordAuthenticationFilter
, 这个过滤器会对POST
请求做拦截并验证准确性
如果是使用表单进行登录的话,必须要让URL中能获取出用户名密码
总结
后序会在接下来的文章中详细介绍如何使用SpringSecurity