kohta3
@kohta3 (皓太 岡村)

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のauthでリダイレクト先の変更及びログイン情報の保持ができない

解決したいこと

Laravelのauthでリダイレクト先の変更及びログイン情報の保持

例)
VScodeでLaravelを使用してwebサイトを作っています。
一通りコントローラーやモデルやビューを作成した後に、"php artisan make:auth"を実行し認証機能を実装しました。
実装後に認証機能をテストしてみると、下記二点の問題が発生しました。
①ログイン後に"/info"へリダイレクトするように設定したにも拘わらず、"/home”にリダイレクトする。
②リダイレクト後にほかのページへ移動すると勝手にログアウトする。

使用している各バージョンは以下です。
PHP 7.4.29
laravel 8.83.27
laravel/ui 2.5.0

該当するソースコード

github
https://github.com/kohta3/PReBLoRenewal.git

web.php

Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Route::resource('/info', InfomationController::class);
Route::get('hotel', [HotelSerchController::class, 'index'])->name('hotel');
Route::get('hotel/show/{middleArea}/{smallArea}', [HotelSerchController::class, 'show'])->name('hotel.show');
Route::get('hotel/search/{kindOf}/{key}', [SearchController::class,'SearchGenre'])->name('search');

RedirectIfAuthenticated.php

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
     * @param  string|null  ...$guards
     * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
     */
    public function handle(Request $request, Closure $next, ...$guards)
    {
        $guards = empty($guards) ? [null] : $guards;

        foreach ($guards as $guard) {
            if (Auth::guard($guard)->check()) {
                return redirect('/info');
            }
        }

        return $next($request);
    }
}

LoginController.php

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/info';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
}

自分で試したこと

ログイン状態の保持に成功しているプロジェクトのクローンを作成し、そのプロジェクトのコントローラー、モデル、ビューファイルを今回作成したファイルに交換し、確認を行いましたが改善されませんでした。

0

2Answer

これで改善されませんか?
バージョン違うのでうまくいくかわかりませんが

0Like

Your answer might help someone💌