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

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

View File

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

View File

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

View File

@ -74,7 +74,7 @@
<div class="navbar"> <div class="navbar">
<a href="/">返回主页</a> <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>
<div class="main-content"> <div class="main-content">

View File

@ -77,7 +77,7 @@
<div class="main-content"> <div class="main-content">
<div class="breadcrumb" id="breadcrumb"> <div class="breadcrumb" id="breadcrumb">
<div id="breadcrumb-links"></div> <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>
<div class="folder-container" id="folder-list"></div> <div class="folder-container" id="folder-list"></div>
<div class="grid" id="image-grid"></div> <div class="grid" id="image-grid"></div>