您好,我已经安装了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身份验证的通行证。谁能建议我应该从哪里开始寻找?
答案 0 :(得分:1)
在默认的登录控制器(位于应用程序-> Http->控制器-> Auth中)中,有一个受保护的属性,称为$redirectTo
,将其设置为您希望用户在登录后重定向到的任何位置。默认情况下是主页。
根据您的情况,应将其更改为/delivery
如果您使用的是护照,则意味着您的Laravel安装正在以API的方式工作,在这种情况下,重定向是您使用的任何前端的工作。
借助Passport,您可以验证用户身份,生成访问令牌并将其作为JSON或基于您的应用程序的任何其他格式发送回前端。
然后基于该响应,您可以从前端管理重定向。
仅当您使用Laravel的默认授权机制时,$redirectTo
属性才会有用。
因此,我相信您将Laravel授权与Passport Authentication流程混淆了,这是两件事。
请对您的问题进行进一步的编辑,并提供应用程序的详细信息以及您要实现的目标以及为什么使用Passport,以便此处的任何人都能向正确的方向提供帮助。
有道理吗?