feat(config): 更新数据库配置和JWT设置

- 修改数据库连接地址和密码
- 调整MyBatis Plus主键生成策略为auto
- 移除文件上传临时目录及FFmpeg路径配置
-优化登录认证异常处理逻辑
- 完善用户注册与登录服务实现- 更新用户角色关联接口参数命名
This commit is contained in:
Chaos
2025-11-10 21:41:54 +08:00
parent c6d18d4979
commit ed48e05285
4 changed files with 38 additions and 29 deletions

View File

@@ -35,6 +35,6 @@ public interface UserMapper extends BaseMapper<User> {
* @param id 用户id
* @param i 角色id
*/
@Select("INSERT INTO t_user_role (user_id, role_id) VALUES (#{id}, #{i})")
void insertUserRole(Long id, int i);
@Select("INSERT INTO t_user_role (user_id, role_id) VALUES (#{userId}, #{roleId})")
void insertUserRole(@Param("userId") Long id, @Param("roleId") Long i);
}

View File

@@ -6,6 +6,7 @@ import cn.nopj.chaos_api.model.ApiResult;
import cn.nopj.chaos_api.service.AuthService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -44,13 +45,17 @@ public class AuthController {
*/
@PostMapping("/login")
public ApiResult<?> login(@RequestBody LoginRequest loginRequest) {
try {
String token = authService.login(loginRequest.getUsername(), loginRequest.getPassword());
if (token == null) {
return ApiResult.failed("用户名或密码错误");
}
Map<String, String> tokenMap = new HashMap<>();
tokenMap.put("token", token);
tokenMap.put("tokenHead", tokenHead);
return ApiResult.success(tokenMap);
}catch (BadCredentialsException e){
return ApiResult.failed(e.getMessage());
}
}
}

View File

@@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
@Service
public class AuthServiceImpl implements AuthService {
@Autowired
private UserMapper userMapper;
@Autowired
@@ -42,19 +43,30 @@ public class AuthServiceImpl implements AuthService {
user.setPassword(passwordEncoder.encode(registerRequest.getPassword()));
userMapper.insert(user);
// 你可以在这里为新用户分配默认角色
userMapper.insertUserRole(user.getId(), 2);
userMapper.insertUserRole(user.getId(), 2L);
return user;
}
@Override
public String login(String username, String password) {
// 使用 Spring Security 的 AuthenticationManager 进行用户认证
Authentication authentication = authenticationManager.authenticate(
new UsernamePasswordAuthenticationToken(username, password)
);
SecurityContextHolder.getContext().setAuthentication(authentication);
// 获取用户详情
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
if (!userDetails.isEnabled()){
return null;
}
// 生成 JWT
return jwtTokenUtil.generateToken(userDetails);
}
}

View File

@@ -6,9 +6,9 @@ spring:
name: chaos-api
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://10.91.3.23:3306/chaos?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false
url: jdbc:mariadb://10.91.3.253:3306/chaos?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false
username: chaos
password: zx123456..
password: fH7NPTeRSSFFicsh
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 5
@@ -20,20 +20,16 @@ spring:
max-file-size: 100GB
max-request-size: 100GB
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
type-aliases-package: cn.nopj.chaos_api_domain.entity
global-config:
db-config:
id-type: assign_id
id-type: auto
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
jwt:
tokenHeader: Authorization
tokenHead: Chaos
@@ -41,7 +37,3 @@ jwt:
expiration: 604800
file:
upload:
temp-dir: ./chaos/upload
ffmpeg-path: C:\Users\Chaos\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-7.1.1-full_build\bin\ffmpeg.exe