Laravel 5.3 auth方法实现/覆盖

时间:2016-11-06 12:55:36

标签: laravel laravel-5 laravel-5.3

Laravel 5.3中哪些类和哪些方法负责默认用户登录/注销/注册和密码重置功能?我在哪里可以找到它?我想在成功e.t.c

之后修改默认redirectPath,flash消息等内容

2 个答案:

答案 0 :(得分:1)

我相信这些是您正在寻找的正确的控制器和方法。请记住,大多数或所有方法都不是直接在相应的控制器中找到,而是在这些控制器使用的内部特征中找到。但是通过打开控制器并进入它使用的特性,或者只是在PHPStorm或任何其他IDE或编辑器中搜索方法的名称,它们很容易找到。



App\Http\Controllers\Auth\LoginController@showLoginForm
App\Http\Controllers\Auth\LoginController@login
App\Http\Controllers\Auth\LoginController@logout
App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail
App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm
App\Http\Controllers\Auth\RegisterController@showRegistrationForm
App\Http\Controllers\Auth\RegisterController@register




实施例

假设您要找到 showLoginForm() 方法。

  • 打开{root} /app/Http/Controllers/Auth/LoginController.php
  • 请注意,它使用Illuminate\Foundation\Auth\AuthenticatesUsers
  • 打开Illuminate\Foundation\Auth\AuthenticatesUsers
  • 您看到的第一种方法应该是 showLoginForm()
 /**
 * Show the application's login form.
 *
 * @return \Illuminate\Http\Response
 */
public function showLoginForm()
{
    return view('auth.login');
}

答案 1 :(得分:0)

在Laravel 5.3中,app\Http\Controllers\Auth中的控制器很少:

LoginController
RegisterController
ResetPasswordController
ChangePasswordController
ForgotPasswordController

您可以安全地覆盖这些控制器中的默认身份验证方法。您想要覆盖的确切方法取决于您的需求。例如,如果您需要根据用户的角色重定向用户,则需要通过在LoginController中创建和修改用户来覆盖sendLoginResponse()方法。