注销后的Laravel 5重定向 - 如何重定向?

时间:2015-10-19 05:35:19

标签: php laravel redirect

我希望在他成功注销后重定向回用户所在的位置,因为即使已注销,我也可以访问这些方法。

我保护 PhotosController 中的每个方法,除了 @show

public function __construct()
{
    $this->middleware('auth', ['except' => 'show']);
}

要在注销后设置重定向,我在 AuthController 中设置属性,如下所示:

protected $redirectAfterLogout = '/customLogoutPage';

但是我想将用户重定向回原处,因为即使没有被锁定,他也能看到View。

我试着朝这个方向努力:

protected $redirectAfterLogout = redirect()->back();

但我的浏览器说:“意外'(','期待','或';'

在退出之前,如何将重定向用于用户所在的视图。

2 个答案:

答案 0 :(得分:1)

内置的logout-method只接受一个字符串,你正在向它传递一个函数。如果您需要此行为,则必须在AuthController

中实施自己的注销方法

幸运的是,这非常简单:

public function getLogout()
{
    Auth::logout();

    return redirect()->back();
}

那就是它。

作为参考,这是Laravels AuthenticatesUser trait:

使用的原始函数
/**
 * Log the user out of the application.
 *
 * @return \Illuminate\Http\Response
 */
public function getLogout()
{
    Auth::logout();

    return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
}

答案 1 :(得分:1)

public function getLogout()
{
    Auth::logout();

    return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/customLogoutPage');
}