Laravel默认登录重定向不起作用

时间:2019-02-21 12:20:40

标签: authentication laravel-5 url-redirection

您好,我已经安装了Laravel 5.7版本,当我转到经过身份验证的url时,它将重定向到登录页面,但是在登录后,它将重定向到主页。

此经过身份验证的URL可以是使用laravel auth中间件进行身份验证的任何URL。

这是我的网址示例路由器资源代码:

Route::namespace('User')->group(function () {
    Route::middleware('auth')->resource('delivery', 'DeliveryController');
});

默认行为是,当我们尝试转到经过身份验证的url时,应重定向到登录名,登录后应重定向回到经过身份验证的url。

例如:

交付->登录->交付

customer-> login-> customer

但是问题是登录后重定向到首页(即$redirectTo中的LoginController)的任何URL。我已经安装了用于API身份验证的通行证。谁能建议我应该从哪里开始寻找?

1 个答案:

答案 0 :(得分:1)

在默认的登录控制器(位于应用程序-> Http->控制器-> Auth中)中,有一个受保护的属性,称为$redirectTo,将其设置为您希望用户在登录后重定向到的任何位置。默认情况下是主页。

根据您的情况,应将其更改为/delivery

如果您使用的是护照,则意味着您的Laravel安装正在以API的方式工作,在这种情况下,重定向是您使用的任何前端的工作。

借助Passport,您可以验证用户身份,生成访问令牌并将其作为JSON或基于您的应用程序的任何其他格式发送回前端。

然后基于该响应,您可以从前端管理重定向。

仅当您使用Laravel的默认授权机制时,$redirectTo属性才会有用。

因此,我相信您将Laravel授权与Passport Authentication流程混淆了,这是两件事。

请对您的问题进行进一步的编辑,并提供应用程序的详细信息以及您要实现的目标以及为什么使用Passport,以便此处的任何人都能向正确的方向提供帮助。

有道理吗?