fix(aihr): require login for practice api

This commit is contained in:
2026-07-14 08:35:35 +08:00
parent c07ff2323a
commit 921f4958a3
3 changed files with 15 additions and 0 deletions
@@ -1,6 +1,7 @@
package org.dromara.aihr.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
@@ -50,6 +51,7 @@ import java.util.List;
@RequiredArgsConstructor
@RestController
@RequestMapping("/api/train/practice")
@SaCheckLogin
public class AihrPracticeController {
private static final String HR_OPERATOR_ROLE = "hr_operator";
@@ -365,6 +365,18 @@ public class AihrPracticeSeedServiceTest {
assertFalse(controllerSource.contains("supervisor H5 keeps team-scope"));
}
@Test
public void practiceControllerRequiresLoginBeforeSessionCreation() throws Exception {
Path source = Path.of("src/main/java/org/dromara/aihr/controller/AihrPracticeController.java");
if (!Files.exists(source)) {
source = Path.of("ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java");
}
String controllerSource = Files.readString(source);
assertTrue(controllerSource.contains("import cn.dev33.satoken.annotation.SaCheckLogin;"));
assertTrue(controllerSource.contains("@SaCheckLogin\npublic class AihrPracticeController"));
}
@Test
public void assignmentsSelfReadBypassesTeamScope() {
AssignmentJdbcTemplate jdbcTemplate = new AssignmentJdbcTemplate(null, List.of());
+1
View File
@@ -381,6 +381,7 @@ contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service
contains frontend/src/api/aihr/practice.ts "/api/train/practice/start"
contains frontend/src/api/aihr/practice.ts "/api/aihr/prompt-templates"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java "/api/train/practice"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java "@SaCheckLogin"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java "sessions/{sessionId}/annotations"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPromptTemplateController.java "/api/aihr/prompt-templates"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPromptTemplateController.java "public R<List<PromptTemplateResponse>> list"