gpt4 book ai didi

php - 如何自定义 Laravel HTTP 基本身份验证中的密码字段?

转载 作者:行者123 更新时间:2023-12-04 15:46:16 26 4
gpt4 key购买 nike

我想在使用连接HTTP Basic Authentication 时将SQL 请求中的password 字段更改为user_password .我使用的中间件是特定于 Laravel 的 auth.basic。我设法通过创建中间件更改了用户名,但我无法更改密码字段。

class CustomBasicAuth extends AuthenticateWithBasicAuth
{
public function handle($request, Closure $next, $guard = null, $field = null)
{
$this->auth->guard($guard)->basic($field ?: 'user_username');

return $next($request);
}
}

我做了一些研究,发现我们必须尝试修改此方法。

/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php

class SessionGuard implements StatefulGuard, SupportsBasicAuth
{
use GuardHelpers, Macroable;

protected function basicCredentials(Request $request, $field)
{
return [$field => $request->getUser(), 'password' => $request->getPassword()];
}
}

有谁知道如何在不修改基础文件的情况下更改它?

最佳答案

您可以自定义外部包类,只需扩展它们并覆盖您需要更改的方法即可。它可能需要扩展多个类,以便将调用基类的地方更改为您的自定义类。

关于php - 如何自定义 Laravel HTTP 基本身份验证中的密码字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55642908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com