[英]Laravel 5.5 RedirectTo not working in LoginController
[英]Laravel 5.4 $redirectTo not working
我被困在我的LoginController.php
重写redirectTo()
函数, 如Laravel docs here所示 。
我的控制器包含:
/**
* URI where we redirect to after login
*
* @var string
*/
protected $redirectTo = 'player/home';
/**
* Set route redirect
*
* @return mixed
*/
protected function redirectTo()
{
dd("STOP"); <-- does not trigger
if (session()->has('game.details')) {
return route(session()->get('game.details.setup_route'));
} else {
return 'player/home';
}
}
为什么dd
永远不会触发,页面总是重定向到player/home
? 谢谢
如果您在Auth\\RegisterController
的构造函数中注释$this->middleware("guest")
或在Kernel.php
更改有关来宾中间件的Kernel.php
则它将起作用。
尽管我没有使方法重写起作用,但我通过在login
方法中更改了以下几行来解决了该问题:
if ($this->attemptLogin($request)) {
session()->put('game.details', Game::findByUUIDOrFail($uuid));
$this->redirectTo = route(session()->get('game.details.setup_route'));
return $this->sendLoginResponse($request);
}
如果您已运行php artisan auth
像这样更改RedirectIfAuthenticated中间件
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');//change the redirect here
}
return $next($request);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.