From 1e4486989aca27c3e71ffb22d4ab46a9c635f3da Mon Sep 17 00:00:00 2001 From: wolfcode <37436228+wolf-leo@users.noreply.github.com> Date: Tue, 14 Jan 2025 10:09:58 +0800 Subject: [PATCH] refactor(admin): improve login check middleware - Rename $ignoreAuth to $ignoreLogin for better clarity - Update comments for better code readability - Modify Login controller to use $ignoreLogin instead of $ignoreAuth --- app/admin/controller/Login.php | 2 +- app/admin/middleware/CheckLogin.php | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/admin/controller/Login.php b/app/admin/controller/Login.php index 3907634..362249b 100644 --- a/app/admin/controller/Login.php +++ b/app/admin/controller/Login.php @@ -14,7 +14,7 @@ use think\Response; class Login extends AdminController { - protected bool $ignoreAuth = true; + protected bool $ignoreLogin = true; public function initialize(): void { diff --git a/app/admin/middleware/CheckLogin.php b/app/admin/middleware/CheckLogin.php index e3348b2..e9a3108 100644 --- a/app/admin/middleware/CheckLogin.php +++ b/app/admin/middleware/CheckLogin.php @@ -25,9 +25,10 @@ class CheckLogin $controllerClass = 'app\\admin\\controller\\' . $controller; $classObj = new ReflectionClass($controllerClass); $properties = $classObj->getDefaultProperties(); - $ignoreAuth = $properties['ignoreAuth'] ?? false; - $adminUserInfo = session('admin'); - if (!$ignoreAuth) { + // 整个控制器是否忽略登录 + $ignoreLogin = $properties['ignoreLogin'] ?? false; + $adminUserInfo = session('admin'); + if (!$ignoreLogin) { $noNeedCheck = $properties['noNeedCheck'] ?? []; if (in_array($action, $noNeedCheck)) { return $next($request); @@ -37,7 +38,8 @@ class CheckLogin foreach ($attributes as $attribute) { $annotation = $attribute->newInstance(); $_ignore = (array)$annotation->ignore; - if (in_array('LOGIN', (array)$_ignore)) return $next($request); + // 控制器中的某个方法忽略登录 + if (in_array('LOGIN', $_ignore)) return $next($request); } if (empty($adminUserInfo)) { return redirect(__url('login/index'));