ログインすらしていないユーザーに対しては、しっかりloginページへと移行するのですが、buyerとしてログインしている状態であれば、他のユーザーのマイページをみれてしまう状態です。
! Auth::guard('buyers')->user()とする事で、「ログインしている特定のユーザーでなければ、、、」と言う処理をしている。と言うのが私の認識なのですが、間違っていますでしょうか。
CheckLoggedIn.php
<?php namespace App\Http\Middleware; use Illuminate\Support\Facades\Auth; use Closure; class CheckLoggedIn { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (! Auth::guard('buyers')->user()) { return redirect('buyers/login'); } return $next($request); } }
Kernel.php
'buyer_auth_check' => \App\Http\Middleware\CheckLoggedIn::class,
web.php
Route::prefix('buyers')->name('buyers.')->group(function () { //バイヤーマイーぺージ Route::get('{id}/index', 'BuyerController@index')->name('index')->middleware('buyer_auth_check'); //プロフィールぺージ Route::get('{id}', 'BuyerController@show')->name('show')->middleware('buyer_auth_check'); //プロフィールぺージ更新 Route::post('{id}', 'BuyerController@update')->name('update')->middleware('buyer_auth_check'); //プロフィールメールリセットメール送信画面 Route::get('email/profile/reset/{id}', 'BuyerController@emailReset')->name('email.reset')->middleware('buyer_auth_check'); //プロフィールメールリセットメール送信 Route::post("email/profile/reset/{id}", "BuyerController@emailUpdate")->name('email.update')->middleware('buyer_auth_check'); //プロフィールメールリセットメール完了 Route::get("reset/{token}", "BuyerController@reset")->middleware('buyer_auth_check'); //プロフィールパスワードリセット Route::get("password/profile/reset/{id}", "BuyerController@passwordReset")->name('password.reset')->middleware('buyer_auth_check'); //プロフィールパスワードリセット完了 Route::post("password/profile/reset/{id}", "BuyerController@passwordUpdate")->name('password.update')->middleware('buyer_auth_check'); });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/26 02:47