[PROMOTE] dev 晉升至 demo

本次晉升合併了 dev 分支上的最新變更,主要包含以下功能開發:
1. 實作 Web 管理後台「單一帳號僅能單一設備登入」的安全防禦機制。
2. 於 '/dashboard' 及 '/admin' 路由群組中套用 'auth.session' 中間件,保障 Session 即時一致性。
3. 確保機台端 (IoT) 使用的 Stateless Bearer Token API 完全不受 Session 機制干擾。
This commit is contained in:
sky121113 2026-05-19 16:52:18 +08:00
commit 3d1a876c60
2 changed files with 5 additions and 2 deletions

View File

@ -27,6 +27,9 @@ class AuthenticatedSessionController extends Controller
{
$request->authenticate();
// 剔除該帳號在其他設備上的所有 Session 連線
Auth::logoutOtherDevices($request->password);
$request->session()->regenerate();
return redirect()->intended(RouteServiceProvider::HOME);

View File

@ -30,9 +30,9 @@ Route::get('/t/{slug}', [App\Http\Controllers\Guest\PassCodeController::class, '
Route::get('/dashboard', function () {
return redirect()->route('admin.dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
})->middleware(['auth', 'auth.session', 'verified'])->name('dashboard');
Route::middleware(['auth', 'verified', 'tenant.access'])->prefix('admin')->name('admin.')->group(function () {
Route::middleware(['auth', 'auth.session', 'verified', 'tenant.access'])->prefix('admin')->name('admin.')->group(function () {
// 1. 儀表板
Route::get('/dashboard', [App\Http\Controllers\Admin\DashboardController::class, 'index'])->name('dashboard');