Laravel 5.3 - 更改'访客重定向'指数'而不是登录'路线

时间:2016-11-08 13:53:41

标签: laravel redirect laravel-5.3

嗯,基本问题是Laravel 5.3将访客用户重定向到' / login'路线,我改变了&app; / Exceptions / Handler.php'到我的索引' /',因为我没有登录页面/登录位于索引处。

在:

protected function unauthenticated($request, AuthenticationException $exception)
{
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }

    // IMPORTANT LINE
    return redirect()->guest('/login');
}

后:

...
return redirect()->guest('/');
...

在此更改之后,访客用户被无限循环地重定向到索引文件,因为他在访问' /'时没有登录。路线,因此被重定向到' /'试。

我认为解决方案很简单,我会在重定向之前检查文件中的当前网址:

if ($_SERVER['REQUEST_URI']) !== '/')
{
    return redirect ('/');
}

这没有用,所以我尝试了laravel方式:

if (!$request()->is('/'))
{
    return redirect ('/');
}

相同的行为/异常:

ErrorException in VerifyCsrfToken.php line 136:
Trying to get property of non-object

1 个答案:

答案 0 :(得分:1)

我认为你的索引路由加载的东西就像你的主页一样,所以你需要删除主页控制器中的auth中间件,或者应用程序将被卡在无限循环中现在就是这样。为了坚持您的改变,您只需在路由控制器中对auth中间件进行评论。

public function __construct()
  {
    // $this->middleware('auth');
  }