spring安全代码笔记
一些学习spring安全代码中的心得体会
唐僧爱吃唐僧肉
这个作者很懒,什么都没留下…
展开
-
Spring Security安全登录的调用过程以及获取权限的调用过程
将permissions中的两个参数"test"、"admin"分别构造SimpleGrantedAuthority类,并且放入Collectors之中,最终返回构造的Collectors权限信息,取出来的UsernamePasswordAuthenticationToken和Authentication类分别为。进入到doFilterInternal函数之中运行,首先获取token的内容,然后根据token解析出userId的内容。这里由于没有获取到token,因此调用!继续运行其他拦截器,然后返回。原创 2023-09-04 16:34:03 · 1555 阅读 · 0 评论 -
spring安全代码学习
如果为空的时候抛出异常,否则调用UsernamePasswordAuthenticationToken进行授权操作。如果是第一次调用完成之后(调用完/user/login接口之后),直接返回调用成功提示。如果是第二次登录的时候,则这里会将输入的token转化成为之前的userId,如果是第二次调用完成之后(调用完/hello接口之后),返回hello的内容。如果是第一次登录的情况下,这里运行的时候因为Header中没有token,然后从redis之中去找userId对应的类是否为空,原创 2023-08-31 16:17:27 · 95 阅读 · 0 评论 -
Spring Security无法调用接口错误解决
经过排查之后发现,这里的SecurityConfig上面没有加上@Configuration这个注解,导致SecurityConcig没有被注入到Spring的容器之中,因此报错。并且返回的一直是forbidden401,应该是没有权限,但是奇怪的是,我在SecurityConfig之中权限已经打开了。之前在写程序的时候,发现有个接口使用postmapping发送请求一直无法进行调用。原创 2023-08-30 18:12:24 · 417 阅读 · 0 评论 -
Spring security报栈溢出几种可能的情况
1.UserDetailsService的实现类没有加上@Service注入到容器中,导致容器循环寻找UserDetailsService的实现类,最终发生栈溢出的现象。2.UserDetailsService的实现类有多个,导致系统不知道该调用哪一个,循环调用导致发生栈溢出的情况。解决方法:删除掉一个实现类,只保留UserDetailsService的一个实现类。解决方法:UserDetailsService前面加上@Service。解决方法:将authenticationManager进行重写。原创 2023-08-28 15:46:35 · 598 阅读 · 0 评论 -
Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required问题解决
解决方法:去除@EnableAutoConfiguration中的(exclude={DataSourceAutoConfiguration.class})原创 2023-08-25 14:38:39 · 733 阅读 · 0 评论 -
Java序列化和反序列化操作
fastjson可以实现java的序列化和反序列化操作,这里使用serialize的方法重新写序列化方法改写成JSON格式,方便通信与读写。首先定义FastJsonRedisSerializer.java内容。原创 2023-08-20 09:49:27 · 241 阅读 · 0 评论