Laravel身份验证重定向失败

时间:2015-12-29 16:24:24

标签: php laravel session authentication redirect

遵循本指南:https://www.youtube.com/watch?v=bqkt6eSsRZs&list=PL_UnIDIwT95NUvLU14l_QFFV2ZxO1phpQ&index=10

从laravel docs

添加了auth路由
mkdir auth
chmod -R 777 auth

创建登录/注册视图

创建/家庭路线

自定义AuthController:

protected $redirectTo = 'home';
protected $redirectPath = 'home';
protected $loginPath = '/auth/login';

尝试访问auth / login时出现此错误:

  

Request.php第775行中的ErrorException:..会话存储未设置为
      请求。

将auth路由移动到中间件组。

在db和会话文件中成功注册,创建了用户

更改了要检查的家庭路线是否已登录用户:

if(Auth::guest()) {
    return Redirect::to('auth/login');
} else {
    echo "welcome home";
}

去auth / logout然后回到home route,没有被重定向到登录页面而是重定向到站点的根目录 现在每当我进入auth / login时它也会将我重定向到根路径,所以我进入了隐身模式并进入了auth / login页面,它成功呈现并登录(在存储/框架/会话中创建了一个会话文件) )然后还将我重定向到根路径。

从之前的回答中我将其添加到我的auth控制器:

public function authenticated( $request,  $user ) {
    return redirect()->intended($this->redirectPath().'?success');
}

在正常模式(Chrome)中转到主页路径但在隐身模式下重定向到auth / login页面时仍然存在问题,并创建会话文件但在成功登录后仍会重定向到根路径。然后我在auth控制器中注释掉authenticated()方法,但问题仍然存在......

上一个问题:Laravel authentication redirect error

1 个答案:

答案 0 :(得分:2)

如果您使用的是Laravel 5.2版本,那么您将需要使用Web中间件,在我的情况下,我有这个

Route::group(['middleware' => 'web'], function () {
   Route::auth();
   Route::get('/home', 'HomeController@index');
});

对于版本Laravel版本5和5.1,您需要具有以下路线:

Route::controllers([
'auth' => 'Auth\AuthController'
]);