我希望在他成功注销后重定向回用户所在的位置,因为即使已注销,我也可以访问这些方法。
我保护 PhotosController 中的每个方法,除了 @show
public function __construct()
{
$this->middleware('auth', ['except' => 'show']);
}
要在注销后设置重定向,我在 AuthController 中设置属性,如下所示:
protected $redirectAfterLogout = '/customLogoutPage';
但是我想将用户重定向回原处,因为即使没有被锁定,他也能看到View。
我试着朝这个方向努力:
protected $redirectAfterLogout = redirect()->back();
但我的浏览器说:“意外'(','期待','或';'
在退出之前,如何将重定向用于用户所在的视图。
答案 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');
}