当用户未登录时,我遇到内置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
任何想法/建议都会很棒。
答案 0 :(得分:0)
在您想要隐藏登出用户的控制器中使用此代码块。此代码会将任何已注销的用户重定向到$loginPath
,您还可以使用protected $redirectTo = 'yourDesirepath'
在登录后重定向用户。
public function __construct()
{
$this->middleware('auth');
}
或者如果你想要,你只能获得一些方法。在您的方法中添加这行代码。
$this->middleware('auth');