![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring security
文章平均质量分 51
念衢
这个作者很懒,什么都没留下…
展开
-
spring security Ⅲ—— authenticationManager.authenticate()验证流程
进入provider.authenticate(authentication)方法后发现我们到了AbstractUserDetailsAuthenticationProvider类,而这个方法的返回值需要需要依赖user,要获取这个user,咱又不得不进入retrieveUser(username, (UsernamePasswordAuthenticationToken) authentication) 这个方法。在得到这个user之后才能进行下一步。原创 2022-10-14 23:18:31 · 9846 阅读 · 3 评论 -
spring security Ⅱ
1、在UsernamePasswordAuthenticationFilter前加入了一个自定义的filter,如果用户带了token来进行访问则——进行jwt拦截校验;如果没有则放行,dofilterchain(res,req),因为后面如果还是未登录状态,authenticed:false,就会被后面的拦截器,把请求返回的资源拦截。2、重写UserDetailsService方法里的loadUserByUsername方法,实现从数据库中查找数据,原来框架默认方法是从内存InMemory里查找。原创 2022-10-14 23:19:10 · 208 阅读 · 0 评论 -
spring security 密码校验Ⅰ
使用security默认的加密方式——BCrypt方法,对于同一个字符串,进行加密,每一次的结果都不同。但是不同的结果与原加密来的字符串进行matches时,都能得到true。1、先通过getPasswordEncoder()拿到注入容器的passwordEncoder。但加密后的结果再matches就是false了。2、再到matches()方法。3、最后是checkpw()原创 2022-10-14 22:27:12 · 1095 阅读 · 0 评论 -
spring security 密码校验——用户输入的密码和数据库密码值
先检查数据库存的密码是否是在securityConfig配置类里注入的加密方法,加密后的结果。在控制台进行打印的结果,存到数据库中,就可以了。eg:用security自带的BC加密。,绝大概率就是这里的问题。原创 2022-10-14 22:11:34 · 1339 阅读 · 0 评论