优化各页面跳转逻辑,以及权限验证

This commit is contained in:
wangli 2025-12-21 18:41:02 +08:00
parent 9c274b5b41
commit 2bac260332
5 changed files with 14 additions and 8 deletions

View File

@ -1,6 +1,7 @@
package eu.org.biwin.screen.advice;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.exception.NotRoleException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.http.HttpStatus;
@ -34,6 +35,10 @@ public class GlobalExceptionHandler {
return "redirect:/login";
}
@ExceptionHandler(NotRoleException.class)
public Object handlerNotRoleException(NotRoleException nre, HttpServletRequest request, HttpServletResponse response) {
return "redirect:/";
}
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleException(Exception e) {
e.printStackTrace();

View File

@ -83,12 +83,6 @@ public class AdminController {
return JSONUtil.toJsonStr(result);
}
@GetMapping
@SaCheckRole("admin") // Add annotation to each protected method
public String adminPage() {
return "admin";
}
@GetMapping("/codes")
@ResponseBody
@SaCheckRole("admin") // Add annotation to each protected method

View File

@ -1,5 +1,6 @@
package eu.org.biwin.screen.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.stp.StpUtil;
import eu.org.biwin.screen.model.ImageGroup;
import jakarta.servlet.http.HttpServletRequest;
@ -96,6 +97,12 @@ public class GalleryController {
return "cart";
}
@GetMapping("/admin")
@SaCheckRole("admin") // Add annotation to each protected method
public String adminPage() {
return "admin";
}
@PostMapping("/doLogin")
@ResponseBody
public String doLogin(String password) {

View File

@ -74,7 +74,7 @@
<div class="navbar">
<a href="/">返回主页</a>
<a id="admin-link" href="/api/admin" style="display: none;">管理后台</a>
<a id="admin-link" href="/admin" style="display: none;">管理后台</a>
</div>
<div class="main-content">

View File

@ -77,7 +77,7 @@
<div class="main-content">
<div class="breadcrumb" id="breadcrumb">
<div id="breadcrumb-links"></div>
<a id="admin-link" class="admin-link" href="/api/admin" style="display: none;">后台管理</a>
<a id="admin-link" class="admin-link" href="/admin" style="display: none;">后台管理</a>
</div>
<div class="folder-container" id="folder-list"></div>
<div class="grid" id="image-grid"></div>