oomri444
@oomri444

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【Laravel】ログイン後のリダイレクト先でログイン状態が保持されない

ログイン後のリダイレクト先でログイン状態が保持されない

Laravel11でWebアプリをつくっています。
userテーブルではないテーブルのカラムでログインするため、ログインを自作しています。
ログイン画面でID(userテーブルから変更)とパスワードを入力し、
認証済みの状態でのみ遷移できるように/profileを設定しましたが、/profileに遷移さません。
ログインはできていると認識しています(後述)。
解決方法を教えて下さい。

発生している問題・エラー

エラーは出ていません。
想定:/loginで入力してログインボタン押下、/profileに遷移してviewを表示
実際:/loginで入力してログイン押下、/loginに戻ってくる

該当するソースコード

auth.php

'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => '変更したテーブル名',
        ],
    ],

UserController

public function login(Request $request)
    {
        $credentials = $request->only('user_name', 'password');

        if (Auth::guard('web')->attempt($credentials)) {
            // 認証成功
            session()->regenerate();
            return redirect()->intended('profile');
        } else {
            // 認証失敗
            return redirect()->back()->withErrors(['message' => '認証に失敗しました']);
        }
    }

Web.php

Route::middleware('auth:web')->group(function (){
    Route::get('/profile',[UserController::class,'profile'])->name('profile');
});

自分で試したこと

・UserControllerのloginメソッド内でAuth::user();
→ユーザ情報を取得できる。
→ログイン自体はできていると判断。

・UserControllerのloginメソッド内の最後にreturn view('profile');
→ユーザ情報を表示させる画面が表示できる。
→実装済みの処理にリダイレクトさせたいので削除。

・UserControllerのloginメソッド内にsession()->all());
→セッション情報の中にログインユーザに関してのものは存在しなかった。

「こういう情報が足りない」などあればご指摘いただければと思います。

0

No Answers yet.

Your answer might help someone💌