自定义重定向 URL
自定义登录重定向
您可以使用 app/Config/Auth.php 配置文件中的 loginRedirect()
方法自定义用户在登录时重定向到的位置。如果您想根据用户组或其他条件进行重定向,这将非常方便。
public function loginRedirect(): string
{
$url = auth()->user()->inGroup('admin')
? '/admin'
: setting('Auth.redirects')['login'];
return $this->getUrl($url);
}
通常,您会希望为不同的用户组设置不同的重定向。一个简单的示例可能是,您希望将管理员重定向到 /admin
,而所有其他组重定向到 /
。app/Config/Auth.php 配置文件还包括您可以添加其他逻辑以实现此目的的方法
public function loginRedirect(): string
{
if (auth()->user()->can('admin.access')) {
return '/admin';
}
$url = setting('Auth.redirects')['login'];
return $this->getUrl($url);
}
自定义注册重定向
您可以在 app/Config/Auth.php 配置文件的 registerRedirect()
方法中自定义用户在注册后重定向到的位置。
public function registerRedirect(): string
{
$url = setting('Auth.redirects')['register'];
return $this->getUrl($url);
}
自定义注销重定向
还可以通过 app/Config/Auth.php 配置文件的 logoutRedirect()
方法覆盖注销重定向。这不会像登录和注册那样经常使用,但您可能会发现需要。例如,如果您以编程方式注销用户,您可能希望将他们带到指定注销原因的页面。否则,您可能会将他们带到主页甚至登录页面。
public function logoutRedirect(): string
{
$url = setting('Auth.redirects')['logout'];
return $this->getUrl($url);
}