feat(tenant): 新增租户自助注册功能(支持 Turnstile 人机验证)
- 支持匿名 POST /register 注册,默认套餐 ID=999、账号数 99、2099 年底过期 - 集成 Cloudflare Turnstile 服务端校验,可开关、可配置密钥与超时 - 补充操作人信息,避免 creator/updater 为空 - 操作日志匿名场景从 Request Attribute 补全用户信息 - 更新 .gitignore 忽略 /.omc/ 与 AGENTS.md - 关闭默认水印(留空)
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package cn.iocoder.yudao.framework.operatelog.core.service;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.biz.system.logger.OperateLogCommonApi;
|
||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO;
|
||||
import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
|
||||
import com.mzt.logapi.beans.LogRecord;
|
||||
import com.mzt.logapi.service.ILogRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -50,11 +52,16 @@ public class LogRecordServiceImpl implements ILogRecordService {
|
||||
private static void fillUserFields(OperateLogCreateReqDTO reqDTO) {
|
||||
// 使用 SecurityFrameworkUtils。因为要考虑,rpc、mq、job,它其实不是 web;
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
if (loginUser == null) {
|
||||
if (loginUser != null) {
|
||||
reqDTO.setUserId(loginUser.getId());
|
||||
reqDTO.setUserType(loginUser.getUserType());
|
||||
return;
|
||||
}
|
||||
reqDTO.setUserId(loginUser.getId());
|
||||
reqDTO.setUserType(loginUser.getUserType());
|
||||
// 匿名请求场景(例如注册),尝试从 Request Attribute 获取用户信息
|
||||
Long loginUserId = WebFrameworkUtils.getLoginUserId();
|
||||
Integer loginUserType = WebFrameworkUtils.getLoginUserType();
|
||||
reqDTO.setUserId(loginUserId != null ? loginUserId : 0L);
|
||||
reqDTO.setUserType(loginUserType != null ? loginUserType : UserTypeEnum.ADMIN.getValue());
|
||||
}
|
||||
|
||||
public static void fillModuleFields(OperateLogCreateReqDTO reqDTO, LogRecord logRecord) {
|
||||
@@ -88,4 +95,4 @@ public class LogRecordServiceImpl implements ILogRecordService {
|
||||
throw new UnsupportedOperationException("使用 OperateLogApi 进行操作日志的查询");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user