getPort() != 8081 && in_array(request()->getHost(), $centralDomains)) { return Inertia::render('Landlord/Auth/Login'); } return Inertia::render('Auth/Login'); } /** * Handle an incoming authentication request. */ public function store(Request $request) { $request->validate([ 'username' => ['required', 'string'], 'password' => ['required', 'string'], ], [ 'username.required' => '請輸入帳號', 'password.required' => '請輸入密碼', ]); $credentials = $request->only('username', 'password'); if (Auth::attempt($credentials, $request->boolean('remember'))) { $request->session()->regenerate(); $centralDomains = config('tenancy.central_domains', []); $centralDomains = config('tenancy.central_domains', []); // [Hack] Demo 環境特殊規則:Port 8081 強制視為租戶 if ($request->getPort() != 8081 && in_array($request->getHost(), $centralDomains)) { return redirect()->intended(route('landlord.dashboard')); } return redirect()->intended(route('dashboard')); } throw ValidationException::withMessages([ 'username' => '帳號或密碼錯誤。', ]); } /** * Destroy an authenticated session. */ public function destroy(Request $request) { Auth::guard('web')->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/'); } }