SpringSecurity 解析

2022-01-10 16:34:25 浏览数 (1)

安全验证权限管理

代码语言:javascript复制
SpringSecurity
5大核心组件
UserDetailsS​​ervice           在基于String的用户名(或证书ID等)中传递时创建UserDetails
SecurityContextHolder     提供SecurityContext的访问权限。
SecurityContext                保存Authentication和可能的特定于请求的安全信息
Authentication                   以特定于Spring Security的方式代表认证
GrantedAuthority               以反映授予主体的应用程序范围的权限
UserDetail                          提供从应用程序的DAO或其他安全数据源构建Authentication对象所需的信息。

初始化配置SpringSecurity时, 需要配置
public class SecurityConfig extends WebSecurityConfigurerAdapter {//省略
/**
     * 登陆时进行权限授权
     * @param http
     * @throws Exception
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception {}
    /**
     * 为数据库中的所有用户认证
     * @param auth
     * @throws Exception
     */
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {}
}
前端在调用login时会进入到UseDetailsService子类实现的loadByUsername中 ,返回构造出的UserDetails的子类User
这就搭建好了一个简单的认证服务但是会出现新的问题,也就是通过认证的用户无法识别,
此时需要使用JWT已经加入过滤器实现或者使用SpringMvc的拦截器(同理)
在用户第一次通过认证后,发方token存入localstroge ,下次访问时带上请求头访问接口即可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名,转载请标明出处 最后编辑时间为: 2022/01/02 07:08

0 人点赞