遇到的问题
qq_41609488
这个作者很懒,什么都没留下…
展开
-
shiro for example: not eligible for auto-proxying
问题复现在使用springboot集成shiro中,在shiro中注入userServiceImpl,会导致userServiceImpl不能被spring代理,导致事务失效。部分代码public class MyShiroRealm extends AuthorizingRealm {@AutowiredUserService userService;…1234启动时的报错信息如下Bean ‘userServiceImpl’ of type [cn.junengxiong.serv转载 2020-07-29 16:50:29 · 1455 阅读 · 0 评论 -
springboot全局异常处理捕获不到自定义Filter中的异常
由于项目是前后端分离,且使用的shiro+jwt的框架,需要自定义一个jwtFilter来拦截请求并进行token的验证,这里会出现各种token的异常,所以需要捕获一下,但是全局异常处理@ControllerAdvice不能捕捉自定义拦截器的异常,所以这里使用继承BasicErrorController类来处理异常要写一个构造器public ErrorController() { super(new DefaultErrorAttributes(), new ErrorProperties()原创 2020-07-29 16:19:54 · 3000 阅读 · 2 评论 -
关于 JWT的token自动刷新和JWT的可控性的问题
问题:如果用户一直在操作,那么就不能让token自动过期了,而应该自动刷新还有如果用户在另一个地方重新登录,那么前一个登录的token应该失效而不能继续使用这里原本用JWT就是想使用无状态登录,可是如果完全无状态登录,首先中间字段如果要保存用户ID等信息就暴露了部分信息,其次完全无状态服务端就对其不可控,而且也不能自动刷新,到时间就过期了,所以考虑后还是需要解决这些问题解决办法:关于Redis中保存RefreshToken信息(做到JWT的可控性)登录认证通过后返回AccessToken信息(在原创 2020-07-26 23:51:09 · 1029 阅读 · 3 评论 -
解决前端传的数据是下划线命名而后端是驼峰命名的Json传递数据的问题
由于之前个人开发项目都是统一命名,不会出现这种问题,但是到公司实习前后端分离前端是下划线命名,而后端是驼峰命名,所以导致数据的传递需要转换@JsonProperty("user_id")@JSONField(name = "user_id")private String userId;这两个注解一个是@JsonProperty可以把前端带下划线传回来的参数在使用@RequestBody接收时自动转成驼峰命名并注入到类中@JSONField是把实体类的属性改成带下划线的属性名再发送给前端顺便提一原创 2020-07-24 23:55:24 · 7439 阅读 · 3 评论