首页 » Web技术 » Laravel » 正文

Laravel 登录认证后重定向

当你使用 Laravel 自带的认证系统的时候,它在 LoginControllerRegisterController 以及 ResetPasswordController 中提供了一个 redirectTo 属性,这个属性允许你定义用户完成认证后重定向到的位置。

在 Laravel 中它是通过 RedirectsUsers 实现的,现在这里添加了一个小的改进,允许你定义一个 redirectTo 方法设置重定向的位置:

public function redirectPath()
{
    if (method_exists($this, 'redirectTo')) {
        return $this->redirectTo();
    }

    return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}

通过这个新的方法你可以更轻松的访问其他方法或动态的设置位置。例如,我们假设用户登录后,你希望重定向他们到自己的公共主页,你现在可以在 LoginController 方法中这么做:

public function redirectTo()
{
    return '/@'.auth()->user()->username;
}

via:laravel-news

发表评论