本文主要是介绍核心笔记-长篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、验证授权 Spring Security
1、登录实现思路
- SecurityConfig 配置类:
securityFilterChain(httpSecurity)
中配置拦截和放行的地址并添加授权管理器,并注入 AuthenticationManager(认证管理对象) 和 BCryptPasswordEncoder(随机盐值加密方法对象) - 控制层:接受前端发送的账号密码,调用服务层返回前端需要的内容
- 服务层:使用
authenticationManager.authenticate(带有账号密码的 usernamePasswordAuthenticationToken 对象)
得到认证后的对象 authentication - UserDetailsService 实现类:调用
authenticate()
会执行 UserDetailsService 实现类的loadUserByUsername(username)
,在该方法中通过查询数据库来获取认证后的对象,此对象一般是我们实现 UserDetails 接口自定义的用户对象 - 服务层:
authentication.getPrincipal()
可以获得我们自定义的用户对象,强转 - 服务层:然后就可以构造返回对象,为返回对象赋值,如:Token、角色列表、资源列表等信息
2、访问拦截实现思路
- 配置自定义拦截器实现 HandlerInterceptor
- 在
preHandle(request,response,handler)
中判断是
这篇关于核心笔记-长篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!