mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	update 优化 !pr451 改进代码逻辑 支持注解强制加密接口数据
This commit is contained in:
		@@ -74,7 +74,7 @@ public class AuthController {
 | 
			
		||||
     * @param body 登录信息
 | 
			
		||||
     * @return 结果
 | 
			
		||||
     */
 | 
			
		||||
    @ApiEncrypt(response = false)
 | 
			
		||||
    @ApiEncrypt
 | 
			
		||||
    @PostMapping("/login")
 | 
			
		||||
    public R<LoginVo> login(@Validated @RequestBody String body) {
 | 
			
		||||
        LoginBody loginBody = JsonUtils.parseObject(body, LoginBody.class);
 | 
			
		||||
@@ -165,6 +165,7 @@ public class AuthController {
 | 
			
		||||
    /**
 | 
			
		||||
     * 用户注册
 | 
			
		||||
     */
 | 
			
		||||
    @ApiEncrypt
 | 
			
		||||
    @PostMapping("/register")
 | 
			
		||||
    public R<Void> register(@Validated @RequestBody RegisterBody user) {
 | 
			
		||||
        if (!configService.selectRegisterEnabled(user.getTenantId())) {
 | 
			
		||||
 
 | 
			
		||||
@@ -37,16 +37,9 @@
 | 
			
		||||
            <artifactId>hutool-crypto</artifactId>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
        <!-- SpringBoot Web容器 -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.springframework.boot</groupId>
 | 
			
		||||
            <artifactId>spring-boot-starter-web</artifactId>
 | 
			
		||||
            <exclusions>
 | 
			
		||||
                <exclusion>
 | 
			
		||||
                    <artifactId>spring-boot-starter-tomcat</artifactId>
 | 
			
		||||
                    <groupId>org.springframework.boot</groupId>
 | 
			
		||||
                </exclusion>
 | 
			
		||||
            </exclusions>
 | 
			
		||||
            <groupId>org.springframework</groupId>
 | 
			
		||||
            <artifactId>spring-webmvc</artifactId>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
    </dependencies>
 | 
			
		||||
 
 | 
			
		||||
@@ -13,8 +13,8 @@ import java.lang.annotation.*;
 | 
			
		||||
public @interface ApiEncrypt {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 响应加密忽略,默认加密,为 false 时不加密
 | 
			
		||||
     * 响应加密忽略,默认不加密,为 true 时加密
 | 
			
		||||
     */
 | 
			
		||||
    boolean response() default true;
 | 
			
		||||
    boolean response() default false;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ public class CryptoFilter implements Filter {
 | 
			
		||||
                        encryptFlag = apiEncrypt.response();
 | 
			
		||||
                    } else {
 | 
			
		||||
                        // 是否有注解,有就报错,没有放行
 | 
			
		||||
                        HandlerExceptionResolver exceptionResolver = SpringUtils.getBean("handlerExceptionResolver");
 | 
			
		||||
                        HandlerExceptionResolver exceptionResolver = SpringUtils.getBean(HandlerExceptionResolver.class);
 | 
			
		||||
                        exceptionResolver.resolveException(
 | 
			
		||||
                            servletRequest, servletResponse, null,
 | 
			
		||||
                            new ServiceException("没有访问权限,请联系管理员授权", HttpStatus.FORBIDDEN));
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ public class EncryptResponseBodyWrapper extends HttpServletResponseWrapper {
 | 
			
		||||
    public String getEncryptContent(HttpServletResponse servletResponse, String publicKey, String headerFlag) throws IOException {
 | 
			
		||||
        // 生成秘钥
 | 
			
		||||
        String aesPassword = RandomUtil.randomString(32);
 | 
			
		||||
        System.out.println("aesPassword = " + aesPassword);
 | 
			
		||||
        // 秘钥使用 Base64 编码
 | 
			
		||||
        String encryptAes = EncryptUtils.encryptByBase64(aesPassword);
 | 
			
		||||
        // Rsa 公钥加密 Base64 编码
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,7 @@ import cn.hutool.core.io.FileUtil;
 | 
			
		||||
import org.dromara.common.core.domain.R;
 | 
			
		||||
import org.dromara.common.core.utils.StringUtils;
 | 
			
		||||
import org.dromara.common.core.utils.file.MimeTypeUtils;
 | 
			
		||||
import org.dromara.common.encrypt.annotation.ApiEncrypt;
 | 
			
		||||
import org.dromara.common.log.annotation.Log;
 | 
			
		||||
import org.dromara.common.log.enums.BusinessType;
 | 
			
		||||
import org.dromara.common.satoken.utils.LoginHelper;
 | 
			
		||||
@@ -79,6 +80,7 @@ public class SysProfileController extends BaseController {
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 新旧密码
 | 
			
		||||
     */
 | 
			
		||||
    @ApiEncrypt
 | 
			
		||||
    @Log(title = "个人信息", businessType = BusinessType.UPDATE)
 | 
			
		||||
    @PutMapping("/updatePwd")
 | 
			
		||||
    public R<Void> updatePwd(@Validated @RequestBody SysUserPasswordBo bo) {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,6 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
			
		||||
import cn.dev33.satoken.annotation.SaCheckRole;
 | 
			
		||||
import com.baomidou.lock.annotation.Lock4j;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import jakarta.validation.constraints.Min;
 | 
			
		||||
import jakarta.validation.constraints.NotBlank;
 | 
			
		||||
import jakarta.validation.constraints.NotEmpty;
 | 
			
		||||
import jakarta.validation.constraints.NotNull;
 | 
			
		||||
@@ -13,6 +12,7 @@ import org.dromara.common.core.constant.TenantConstants;
 | 
			
		||||
import org.dromara.common.core.domain.R;
 | 
			
		||||
import org.dromara.common.core.validate.AddGroup;
 | 
			
		||||
import org.dromara.common.core.validate.EditGroup;
 | 
			
		||||
import org.dromara.common.encrypt.annotation.ApiEncrypt;
 | 
			
		||||
import org.dromara.common.excel.utils.ExcelUtil;
 | 
			
		||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
 | 
			
		||||
import org.dromara.common.log.annotation.Log;
 | 
			
		||||
@@ -25,14 +25,7 @@ import org.dromara.system.domain.bo.SysTenantBo;
 | 
			
		||||
import org.dromara.system.domain.vo.SysTenantVo;
 | 
			
		||||
import org.dromara.system.service.ISysTenantService;
 | 
			
		||||
import org.springframework.validation.annotation.Validated;
 | 
			
		||||
import org.springframework.web.bind.annotation.DeleteMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.PathVariable;
 | 
			
		||||
import org.springframework.web.bind.annotation.PostMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.PutMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestBody;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@@ -87,6 +80,7 @@ public class SysTenantController extends BaseController {
 | 
			
		||||
    /**
 | 
			
		||||
     * 新增租户
 | 
			
		||||
     */
 | 
			
		||||
    @ApiEncrypt
 | 
			
		||||
    @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
 | 
			
		||||
    @SaCheckPermission("system:tenant:add")
 | 
			
		||||
    @Log(title = "租户", businessType = BusinessType.INSERT)
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ import org.dromara.common.core.domain.model.LoginUser;
 | 
			
		||||
import org.dromara.common.core.utils.MapstructUtils;
 | 
			
		||||
import org.dromara.common.core.utils.StreamUtils;
 | 
			
		||||
import org.dromara.common.core.utils.StringUtils;
 | 
			
		||||
import org.dromara.common.encrypt.annotation.ApiEncrypt;
 | 
			
		||||
import org.dromara.common.excel.core.ExcelResult;
 | 
			
		||||
import org.dromara.common.excel.utils.ExcelUtil;
 | 
			
		||||
import org.dromara.common.log.annotation.Log;
 | 
			
		||||
@@ -209,6 +210,7 @@ public class SysUserController extends BaseController {
 | 
			
		||||
    /**
 | 
			
		||||
     * 重置密码
 | 
			
		||||
     */
 | 
			
		||||
    @ApiEncrypt
 | 
			
		||||
    @SaCheckPermission("system:user:resetPwd")
 | 
			
		||||
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
 | 
			
		||||
    @PutMapping("/resetPwd")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user