私はそれらを表示しないように保護する必要があります。つまり、ログインしないで他のページにリダイレクトしないでください。誰かがアクセスしようとすると、ログインページに戻るべきです。ラベール認証を保護するにはどうすればいいですか
私はLaravel 5.4と正規認証
php artisan make:auth
、ログインコントローラで
protected $redirectTo = '/home';
とミドルウェアRedirectifAuthenticatedでを使用しています私はこのようにしようとしていますが、それは動作しません。
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
return redirect('/leadsadd');
return redirect('/leadslist');
return redirect('/opporadd');
return redirect('/opporlist');
return redirect('/accadd');
return redirect('/acclist');
return redirect('/selftask');
}
return $next($request);
}
これは機能しません。私がやっている方法は間違っていると思います。どのように私はそれを防ぐことができますし、任意のルートやURLにリダイレクトする必要があります助けることができます。 ルート
Route::get('/', function() {
return view('auth.login');
});
Auth::routes();
Route::get('/home', '[email protected]')->name('home');
Route::get('leadsadd','[email protected]');
Route::get('leadslist', '[email protected]');
Route::any('leadview/{id}','[email protected]');
Route::get('leadedit/{id}','[email protected]');
事前に感謝します。
に戻すべきであるように、あなたのルートでこれを行う必要がありますか?要求ごとに1回のみリダイレクトできます。この関数は、ユーザがログインしている場合は常に '/ home'にリダイレクトされます。他のすべてのリターンは到達不能なコードです。 – Jerodev
私は、上記のように(localhost:8000 \ add、localhost:8000 \ view、localhost:8000 \ home)のような別のルートを持っていると言っています。 localhost:8000 \ homeにアクセスしようとしているときのみ、ログインページにリダイレクトされます。他はログイン要求なしで直接オープンしています。 – Hemanth
ミドルウェアを使用してルートファイルに定義する必要があります。 'routes/web.php'の内容を表示できますか? – Jerodev