Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
b9f45057
Commit
b9f45057
authored
Aug 10, 2022
by
RuoYi
Browse files
操作日志记录支持排除敏感属性字段
parent
89008c28
Changes
2
Hide whitespace changes
Inline
Side-by-side
ruoyi-common/src/main/java/com/ruoyi/common/filter/PropertyPreExcludeFilter.java
0 → 100644
View file @
b9f45057
package
com.ruoyi.common.filter
;
import
com.alibaba.fastjson2.filter.SimplePropertyPreFilter
;
/**
* 排除JSON敏感属性
*
* @author ruoyi
*/
public
class
PropertyPreExcludeFilter
extends
SimplePropertyPreFilter
{
public
PropertyPreExcludeFilter
()
{
}
public
PropertyPreExcludeFilter
addExcludes
(
String
...
filters
)
{
for
(
int
i
=
0
;
i
<
filters
.
length
;
i
++)
{
this
.
getExcludes
().
add
(
filters
[
i
]);
}
return
this
;
}
}
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
View file @
b9f45057
...
...
@@ -19,10 +19,11 @@ import com.ruoyi.common.annotation.Log;
import
com.ruoyi.common.core.domain.model.LoginUser
;
import
com.ruoyi.common.enums.BusinessStatus
;
import
com.ruoyi.common.enums.HttpMethod
;
import
com.ruoyi.common.filter.PropertyPreExcludeFilter
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.common.utils.ServletUtils
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.common.utils.ip.IpUtils
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.framework.manager.AsyncManager
;
import
com.ruoyi.framework.manager.factory.AsyncFactory
;
import
com.ruoyi.system.domain.SysOperLog
;
...
...
@@ -38,6 +39,9 @@ public class LogAspect
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
LogAspect
.
class
);
/** 排除敏感属性字段 */
public
static
final
String
[]
EXCLUDE_PROPERTIES
=
{
"password"
,
"oldPassword"
,
"newPassword"
,
"confirmPassword"
};
/**
* 处理完请求后执行
*
...
...
@@ -168,7 +172,7 @@ public class LogAspect
{
try
{
Object
jsonObj
=
JSON
.
toJSON
(
o
);
String
jsonObj
=
JSON
.
toJSON
String
(
o
,
excludePropertyPreFilter
()
);
params
+=
jsonObj
.
toString
()
+
" "
;
}
catch
(
Exception
e
)
...
...
@@ -180,6 +184,14 @@ public class LogAspect
return
params
.
trim
();
}
/**
* 忽略敏感属性
*/
public
PropertyPreExcludeFilter
excludePropertyPreFilter
()
{
return
new
PropertyPreExcludeFilter
().
addExcludes
(
EXCLUDE_PROPERTIES
);
}
/**
* 判断是否需要过滤的对象。
*
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment