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

This commit is contained in:
2026-02-27 09:34:24 +08:00
parent 3925ecaeb2
commit 4c48530a4f

View File

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