ログインフォームがあり、正しい資格情報でログインしています。ログインすると、「about」ページにリダイレクトされます (この機能をテストするために about ページを使用しました)。私は次のスニペットで上記を行いました
$input = Input::all();
$login = Auth::attempt([
'username' => $input['username'],
'password' => $input['password']
]);
if($login){
return Redirect::to('about');
}
else{
dd('not logged in!');
}
このスニペットは完全に機能していますが、追加した about ページへのルートで、->before('auth');
ログインしていない場合はログイン ページにリダイレクトされ、すでにログインしている場合は続行します。
コードスニペット:
Route::get('about', function(){
$title = 'About';
return View::make('about')->with('title', $title);
})->before('auth');
しかし、を追加する->before('auth');
と、正しい資格情報でログインした後でも、常にログ ページにリダイレクトされます。したがって、ログインすると、通常は概要ページにリダイレクトされると予想されますが、代わりにログインページに再度リダイレクトされます。
私は何を間違っていますか?
編集
さらにデバッグを行ったところ、次のことがわかりました。
my about ルートにリダイレクトし、これを実行します。
Route::get('about', function()
{
dd( Auth::check() ); // This returns false
});
しかし、私のルートにリダイレクトする代わりに、私は試しました:
if($login){
dd( Auth::check() ); // This returns true
}
リダイレクトした後、ログアウトしたように見えますか??