代码之家  ›  专栏  ›  技术社区  ›  niko craft

如何覆盖laravel中的auth登录函数

  •  0
  • niko craft  · 技术社区  · 8 年前

    我需要重写laravel的默认登录函数,但是我对在那里找到的代码感到困惑。我不理解laravel如何验证users.php如何验证db中存在用户,然后验证该用户。

    我是在 authenticatesusers.php

    /**
     * Attempt to log the user into the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function attemptLogin(Request $request)
    {
        return $this->guard()->attempt(
            $this->credentials($request), $request->filled('remember')
        );
    }
    

    我想我需要在auth/logincontroller.php中重写这个函数。

    但我不明白它是如何工作的。在哪里 guard() attempt() 实施,我想真正的行动发生在那里。我需要为登录添加另一个条件。

    有人知道Laravel的默认登录是如何工作的吗?这两个功能 警卫() 尝试() 例如,authenticatesUsers.php本身没有实现尝试,我相信它的这个函数我真的应该重写。

    在哪里可以找到它的实现?

    1 回复  |  直到 8 年前
        1
  •  3
  •   Brian Lee    8 年前

    我建议不要重写任何函数,而是创建一个新的 guard provider .看看 config/auth.php 看看它们是如何定义的。

    然后您可以将自定义保护设置为默认值,正常的身份验证流将接管。

    请参阅上的文档 Adding Custom Guards