php - laravel 5.2 登录后重定向到预期的网址

标签 php laravel redirect authentication

我在 Laravel 5.2 应用程序中的路由方面遇到了困难。

预期的行为是:

  1. 未注册用户尝试访问 protected 页面
  2. 重定向至登录
  3. 重定向(成功时)到预期页面

当然,如果没有预期的页面(当他主动登录时),用户应该被重定向到他的“仪表板”

示例:

/* Create a Payment | Only for registered Users (client) */
Route::post('payment', 'PaymentController@create')->middleware('client'); 

用户将被重定向到登录页面,但是,登录后,他将被重定向到我在 authcontroller 中定义为 $redirectTo 的页面

protected $redirectTo = '/backoffice';

有没有办法将重定向设置为类似(预期默认值)

最佳答案

我发现AuthenticatesUsers.php中定义的AuthenticatesUsers Trait具有函数handleUserWasAuthenticated,它检查Laravel是否默认身份验证AuthController。 php 是否定义了authenticated 方法。如果未定义此方法,则用户始终会重定向到您在 $redirectTo 属性中定义的任何内容。它不会将用户重定向到预期的 URL。但是,在 AuthController.php 中,如果您按如下方式定义方法:

protected function authenticated (Request $request, $user){
  //add ur custom actions after the user is authenticated
}

redirect()->intended() 将完全按照您的预期工作,并且在用户通过身份验证后,他将被重定向到预期的 URL。

关于php - laravel 5.2 登录后重定向到预期的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36695762/

相关文章:

php - 在 Mac OSX 上非常慢的 laravel homestead/vagrant/virtualbox

laravel - 如何根据laravel中的日期发送通知?

php - Laravel Eloquent 从多个表中检索数据

php - stream_socket_enable_crypto();禁用 stream_set_timeout

php - SimpleXMLElement 对象返回 XML

vue.js - 部署到生产 Netlify 的 Vue CLI 3 PWA 提供 Workbox 错误 : bad-precaching-response . .._redirects?__WB_REVISION__...404

python - Django 从 View 重定向到 root

ruby-on-rails - rails 5 - "Render and/or redirect were called multiple times in this action"

php - 获取观看次数(唯一观众和唯一视频)

php - 通过 Javascript 访问 HTTP GET 请求