springSecurity 源码分析
一、基本原理
实际上是过滤器链
FilterSecurityInterceptor
ExceptionTranslationFilter
UsernamePasswordAuthenticationFilter
二、过滤器如何加载?
springboot 已经帮我们做了。
如果不用springboot,则需要自己实现:
三、两个重要接口
UserDetailsService接口
接口作用:查询数据库中用户名和密码的过程
PasswordEncoder接口
接口作用:数据加密接口,用于返回USER对象里面密码加密
四、web权限方案
(1)认证
(2)授权
1、设置登录的用户名和密码
方式一:通过配置文件
方式二:通过配置类
方式三:自定义编写实现类
第一步:
五、基于角色和权限的访问控制
hasAuthority 方法,有权限,返回TRUE,否则返回FALSE。
六、项目完整功能
七、Springsecurity 配置信息
/**
* anyRequest | 匹配所有请求路径
* access | SpringEl表达式结果为true时可以访问
* anonymous | 匿名可以访问
* denyAll | 用户不能访问
* fullyAuthenticated | 用户完全认证可以访问(非remember-me下自动登录)
* hasAnyAuthority | 如果有参数,参数表示权限,则其中任何一个权限可以访问
* hasAnyRole | 如果有参数,参数表示角色,则其中任何一个角色可以访问
* hasAuthority | 如果有参数,参数表示权限,则其权限可以访问
* hasIpAddress | 如果有参数,参数表示IP地址,如果用户IP和参数匹配,则可以访问
* hasRole | 如果有参数,参数表示角色,则其角色可以访问
* permitAll | 用户可以任意访问
* rememberMe | 允许通过remember-me登录的用户访问
* authenticated | 用户登录后可访问
*/
关注林哥,持续更新哦!!!★,°:.☆( ̄▽ ̄)/$:.°★ 。