项目场景:
刚接触到公司的项目时候,项目内没有权限框架这一块,后面项目成型之后引进权限框架shiro。
问题描述:
引进shiro后续发现一些问题,抛出AuthenticationException异常后,未能统一自定义返回结果集,前端未能接收到之前约定的状态码,导致token过期之后,结果集是shiro内部抛出的,后面导致前端访问后台所有的接口抛出次异常。
后续在全局自定义捕获器内增加此异常的捕获,发现根本捕获不了;在网上找了很久,都没有发现很好的解决方案,我都准备把shiro换成security(在security内可以实现AuthenticationEntryPoint接口, 重写commence方法后,返回项目内统一的结果集),后续想到一种方式,准备再挣扎一下 o(╥﹏╥)o 。
{
"timestamp": "2021-03-29 13:15:44",
"status": 500,
"error": "Internal Server Error",
"message": "token非法无效!",
"path": "/knowledgeBaseContent/list"
}
异常信息:org.apache.shiro.authc.AuthenticationException: token非法无效!
原因分析:
AuthenticationException 异常时Shiro内部进行抛出的&#