安全验证权限管理
代码语言:javascript复制SpringSecurity
5大核心组件
UserDetailsService 在基于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