SysLog注解和DataFilter注解冲突影响
版本:renren-security 4.0.0 |
开发环境:chrome |
在renren-security里,
SysLog注解为@Around
DataFilter注解为@Before
那实际执行顺序是否会是SysLog->DataFilter->SysLog
导致SysLog获取的参数joinPoint.getArgs,实际是DataFilter处理过的参数,而不是Controller的请求参数?
复现方法:
SysRoleController的list方法增加注解@SysLog("角色列表查询")
预期sys_log表的params字段显示为请求参数(为空或传递过来的roleName参数)
实际显示为DataFilter处理过后的参数
{"_search":"false","nd":"1568018358157","limit":"10","page":{"records":[{"roleId":1,"roleName":"技术部","deptId":4,"deptName":"技术部","createTime":"Sep 9, 2019 4:32:54 PM"}],"total":1,"size":10,"current":1,"orders":[],"optimizeCountSql":true,"isSearchCount":true},"sidx":"","order":"asc","roleName":"技术","_":"1568018211311"}
因sys_log表的params字段长度有限,因此如果数据量太大,可能导致sys_log表入库失败,且无法跟踪原始请求数据