ci(修改打包警告和Docker文件):
This commit is contained in:
parent
ec1603885f
commit
ba359a13bd
|
@ -0,0 +1,35 @@
|
|||
FROM openjdk:24-ea-17-jdk-oraclelinux9
|
||||
MAINTAINER server
|
||||
|
||||
#系统编码
|
||||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
|
||||
|
||||
# 设置时区,构建镜像时执行的命令
|
||||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
RUN echo "Asia/Shanghai" > /etc/timezone
|
||||
|
||||
# 设定工作目录
|
||||
WORKDIR /home/server
|
||||
|
||||
# 复制jar包
|
||||
COPY target/*.jar /home/server/app.jar
|
||||
|
||||
# 程序内部挂在目录
|
||||
VOLUME /usr/bin/docker
|
||||
VOLUME ["/var/run/docker.sock"]
|
||||
VOLUME /etc/docker/daemon.json
|
||||
VOLUME ["/www/root/backup"]
|
||||
VOLUME ["/www/root/server"]
|
||||
|
||||
# 启动容器时的进程
|
||||
ENTRYPOINT ["java","-jar","/home/server/app.jar"]
|
||||
|
||||
#暴露 8000 端口
|
||||
EXPOSE 8000
|
||||
|
||||
# 生产环境
|
||||
# mvn clean package -Pprod -DskipTests
|
||||
|
||||
# 测试环境
|
||||
# mvn clean package -Ptest -DskipTests
|
||||
|
|
@ -84,7 +84,7 @@ public class PermissionController {
|
|||
@PutMapping("file/import")
|
||||
public Result<String> importPermission(@RequestParam(value = "file") MultipartFile file, String type) {
|
||||
permissionService.importPermission(file, type);
|
||||
return Result.success(ResultCodeEnum.SUCCESS);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "获取所有权限", description = "获取所有权限", tags = {"permission::query"})
|
||||
|
|
|
@ -88,6 +88,6 @@ public class RoleController {
|
|||
@PutMapping("file/import")
|
||||
public Result<String> updateRoleByFile(MultipartFile file) {
|
||||
roleService.updateRoleByFile(file);
|
||||
return Result.success();
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
@ -16,7 +15,6 @@ import java.util.List;
|
|||
* 邮件发送对象
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "EmailSend", title = "邮件发送表单", description = "邮件发送表单")
|
||||
|
|
|
@ -4,12 +4,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "EmailSendInit", title = "邮件发送初始化", description = "邮件发送初始化")
|
||||
|
|
|
@ -7,7 +7,6 @@ import com.alibaba.excel.enums.BooleanEnum;
|
|||
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
@ -15,7 +14,6 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@HeadFontStyle(fontHeightInPoints = 22, color = 14, bold = BooleanEnum.TRUE)
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
package cn.bunny.services.domain.common.model.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -13,7 +16,6 @@ import java.util.List;
|
|||
@EqualsAndHashCode(callSuper = true)
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "LoginVo对象", title = "登录成功返回内容", description = "登录成功返回内容")
|
||||
public class LoginVo extends BaseVo {
|
||||
|
||||
|
|
|
@ -4,14 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "EmailUsersAddDto对象", title = "添加邮箱用户发送配置", description = "添加邮箱用户发送配置")
|
||||
public class EmailUsersAddDto {
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ import jakarta.validation.constraints.Min;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
@ -15,7 +14,6 @@ import java.util.List;
|
|||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "FilesAddDto对象", title = "添加文件", description = "添加文件")
|
||||
public class FilesAddDto {
|
||||
|
||||
|
|
|
@ -3,14 +3,12 @@ package cn.bunny.services.domain.system.i18n.dto;
|
|||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "I18nTypeAddDto对象", title = "多语言类型添加", description = "多语言类型添加内容")
|
||||
public class I18nTypeAddDto {
|
||||
|
||||
|
|
|
@ -4,14 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "I18nTypeUpdateDto对象", title = "多语言类型更新", description = "多语言类型更新内容")
|
||||
public class I18nTypeUpdateDto {
|
||||
|
||||
|
|
|
@ -4,16 +4,15 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MessageAddDto对象", title = "添加系统消息", description = "添加系统消息")
|
||||
public class MessageAddDto {
|
||||
|
||||
|
@ -22,7 +21,7 @@ public class MessageAddDto {
|
|||
private String title;
|
||||
|
||||
@Schema(name = "receivedUserIds", title = "接收人用户ID")
|
||||
private List<Long> receivedUserIds;
|
||||
private List<Long> receivedUserIds = new ArrayList<>();
|
||||
|
||||
@Schema(name = "sendUserId", title = "发送人用户ID")
|
||||
private Long sendUserId;
|
||||
|
|
|
@ -3,14 +3,12 @@ package cn.bunny.services.domain.system.message.dto;
|
|||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MessageTypeAddDto对象", title = "添加系统消息类型", description = "添加系统消息类型")
|
||||
public class MessageTypeAddDto {
|
||||
|
||||
|
|
|
@ -5,14 +5,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "AdminUserAddDto对象", title = "添加用户", description = "用户管理")
|
||||
public class AdminUserAddDto {
|
||||
|
||||
|
|
|
@ -5,14 +5,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "AdminUserUpdateByLocalUserDto对象", title = "更新本地用户信息", description = "更新本地用户信息")
|
||||
public class AdminUserUpdateByLocalUserDto {
|
||||
|
||||
|
|
|
@ -5,14 +5,12 @@ import jakarta.validation.constraints.NotBlank;
|
|||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "LoginDto", title = "登录表单内容", description = "登录表单内容")
|
||||
public class LoginDto {
|
||||
|
||||
|
|
|
@ -4,14 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "RefreshTokenDto对象", title = "登录成功返回内容", description = "登录成功返回内容")
|
||||
public class RefreshTokenDto {
|
||||
|
||||
|
|
|
@ -7,7 +7,10 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -16,7 +19,6 @@ import java.util.List;
|
|||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "RouterControllerVo对象", title = "管理员用户看到菜单内容", description = "管理员用户管理菜单")
|
||||
public class RouterManageVo extends BaseUserVo {
|
||||
|
||||
|
|
|
@ -4,14 +4,12 @@ import jakarta.validation.constraints.NotBlank;
|
|||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class VmsArgumentDto {
|
||||
|
|
|
@ -7,22 +7,27 @@ import cn.bunny.services.domain.common.model.vo.result.ResultCodeEnum;
|
|||
import cn.bunny.services.security.exception.CustomAuthenticationException;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.security.authorization.AuthorizationDecision;
|
||||
import org.springframework.security.authorization.AuthorizationManager;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.web.access.intercept.RequestAuthorizationContext;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
|
||||
/**
|
||||
* 自定义权限判断
|
||||
* 判断用户有哪些权限
|
||||
* 自定义授权管理器服务实现
|
||||
*
|
||||
* <p>负责处理API请求的授权决策,主要功能:</p>
|
||||
* <ol>
|
||||
* <li>验证请求Token的有效性</li>
|
||||
* <li>检查用户状态(是否禁用)</li>
|
||||
* <li>设置当前请求上下文信息</li>
|
||||
* <li>执行权限检查</li>
|
||||
* </ol>
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
@Service
|
||||
public class CustomAuthorizationManagerServiceImpl implements AuthorizationManager<RequestAuthorizationContext> {
|
||||
|
||||
@Resource
|
||||
|
@ -32,11 +37,17 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
|
|||
private PermissionCheckService permissionCheckService;
|
||||
|
||||
/**
|
||||
* 检查请求的Token是否携带,并判断是否过期
|
||||
* 授权决策主方法
|
||||
* <ul>
|
||||
* <li>Token验证失败</li>
|
||||
* <li>用户状态异常</li>
|
||||
* <li>权限检查失败</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param authentication Supplier
|
||||
* @param context RequestAuthorizationContext
|
||||
* @return AuthorizationDecision
|
||||
* @param authentication 认证信息提供者
|
||||
* @param context 请求授权上下文
|
||||
* @return 授权决策结果(允许/拒绝)
|
||||
* @throws CustomAuthenticationException 当出现以下情况时抛出:
|
||||
*/
|
||||
@Override
|
||||
public AuthorizationDecision check(Supplier<Authentication> authentication, RequestAuthorizationContext context) {
|
||||
|
@ -59,6 +70,12 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
|
|||
return new AuthorizationDecision(hasPermission);
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证用户状态
|
||||
*
|
||||
* @param loginVo 用户登录信息
|
||||
* @throws CustomAuthenticationException 当用户状态异常时抛出
|
||||
*/
|
||||
private void validateUserStatus(LoginVo loginVo) {
|
||||
// 登录信息为空
|
||||
if (loginVo == null) {
|
||||
|
@ -71,3 +88,4 @@ public class CustomAuthorizationManagerServiceImpl implements AuthorizationManag
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue