Laravel Default Auth不会重定向到正确的路径

时间:2015-09-22 10:14:19

标签: php laravel middleware laravel-middleware

当用户未登录时,我遇到内置Laravel Auth重定向到正确路径的问题。

从显示的文档中我可以将以下内容添加到AuthController.php

    // redirect paths
    protected $redirectPath        = '/profile';
    protected $loginPath           = '/home';
    protected $redirectAfterLogout = '/home';

添加此项应该可以让我控制用户在各种情况下的重定向位置,但似乎没有任何效果。

通过代码挖掘我可以看到auth / login路由在handle函数中的middleware / authenticate.php中设置如下:

    public function handle($request, Closure $next)
    {
        if ($this->auth->guest()) {
            if ($request->ajax()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('auth/login');
            }
        }

        return $next($request);
    }

如果我在这里改变路径它会起作用,但这肯定不是实现它的最好方法。

我正在使用Laravel 5.1.7并尝试过php artisan route:clear

任何想法/建议都会很棒。

1 个答案:

答案 0 :(得分:0)

在您想要隐藏登出用户的控制器中使用此代码块。此代码会将任何已注销的用户重定向到$loginPath,您还可以使用protected $redirectTo = 'yourDesirepath'在登录后重定向用户。

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

或者如果你想要,你只能获得一些方法。在您的方法中添加这行代码。

$this->middleware('auth');
相关问题