优化:登录豁免等级改为动态读取 sysparam 中的 superlevel (管理员级别)

This commit is contained in:
2026-02-27 09:34:24 +08:00
parent 3925ecaeb2
commit 4c48530a4f
+7 -4
View File
@@ -14,6 +14,7 @@ use App\Http\Requests\LoginRequest;
use App\Models\User; use App\Models\User;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Sysparam;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Redis; use Illuminate\Support\Facades\Redis;
@@ -40,8 +41,9 @@ class AuthController extends Controller
if (Hash::check($password, $user->password)) { if (Hash::check($password, $user->password)) {
// Bcrypt 验证通过 // Bcrypt 验证通过
// 检测是否被封禁 (管理员豁免:假设大于等于 15 为系统管理/总管) // 检测是否被封禁 (后台管理员级别获得豁免权,防止误把自己关在门外)
if ($user->user_level < 15) { $adminLevel = (int) Sysparam::getValue('superlevel', '100');
if ($user->user_level < $adminLevel) {
if ($user->user_level < 0) { if ($user->user_level < 0) {
return response()->json(['status' => 'error', 'message' => '您的账号已被管理员封禁,无法登录。'], 403); return response()->json(['status' => 'error', 'message' => '您的账号已被管理员封禁,无法登录。'], 403);
} }
@@ -61,8 +63,9 @@ class AuthController extends Controller
$user->password = Hash::make($password); $user->password = Hash::make($password);
$user->save(); $user->save();
// 检测是否被封禁 (管理员豁免) // 检测是否被封禁 (后台管理员级别获得豁免权,防止误把自己关在门外)
if ($user->user_level < 15) { $adminLevel = (int) Sysparam::getValue('superlevel', '100');
if ($user->user_level < $adminLevel) {
if ($user->user_level < 0) { if ($user->user_level < 0) {
return response()->json(['status' => 'error', 'message' => '您的账号已被管理员封禁,无法登录。'], 403); return response()->json(['status' => 'error', 'message' => '您的账号已被管理员封禁,无法登录。'], 403);
} }