mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-10-15 14:33:45 +08:00
@@ -50,25 +50,25 @@ public class TestSensitiveController extends BaseController {
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.PHONE)
|
||||
@Sensitive(strategy = SensitiveStrategy.PHONE, roleKey = "common")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.ADDRESS)
|
||||
@Sensitive(strategy = SensitiveStrategy.ADDRESS, perms = "system:user:query")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.EMAIL)
|
||||
@Sensitive(strategy = SensitiveStrategy.EMAIL, roleKey = "common", perms = "system:user:query1")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 银行卡
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.BANK_CARD)
|
||||
@Sensitive(strategy = SensitiveStrategy.BANK_CARD, roleKey = "common1", perms = "system:user:query")
|
||||
private String bankCard;
|
||||
|
||||
}
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package org.dromara.system.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.sensitive.core.SensitiveService;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
@@ -20,7 +22,22 @@ public class SysSensitiveServiceImpl implements SensitiveService {
|
||||
* 是否脱敏
|
||||
*/
|
||||
@Override
|
||||
public boolean isSensitive() {
|
||||
public boolean isSensitive(String roleKey, String perms) {
|
||||
if (!StpUtil.isLogin()) {
|
||||
return true;
|
||||
}
|
||||
boolean roleExist = StringUtils.isNotEmpty(roleKey);
|
||||
boolean permsExist = StringUtils.isNotEmpty(perms);
|
||||
if (roleExist && permsExist) {
|
||||
if (StpUtil.hasRole(roleKey) && StpUtil.hasPermission(perms)) {
|
||||
return false;
|
||||
}
|
||||
} else if (roleExist && StpUtil.hasRole(roleKey)) {
|
||||
return false;
|
||||
} else if (permsExist && StpUtil.hasPermission(perms)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (TenantHelper.isEnable()) {
|
||||
return !LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin();
|
||||
}
|
||||
|
Reference in New Issue
Block a user