小编Kid*_*ida的帖子

为什么 jQuery-select2 自动对焦不起作用以及如何修复它?

我在所有项目中都使用 select2 并且工作正常。但在我的新项目中,我的 select2 输入没有按应有的方式聚焦。我必须点击它才能聚焦。问题是什么?我该如何解决它?

我不知道要显示哪部分代码,因为我没有更改标准 select2 函数中的任何内容。

jquery jquery-select2

14
推荐指数
4
解决办法
2万
查看次数

如何通过覆盖 Auth 结构来允许在 Laravel 8 中使用主密码?

我有一个纯 PHP 编写的网站,现在我正在学习 Laravel,所以我再次重新制作这个网站来学习框架。我用过内置的AuthFasade 进行身份验证。我想了解,里面到底发生了什么,所以我决定通过定制来了解更多。现在我尝试创建一个主密码,这将允许直接访问每个帐户(就像过去所做的那样)。

不幸的是,我找不到任何帮助,也不知道如何做到这一点。当我寻找类似问题时,我只找到了解决方案,例如通过管理员登录,然后切换到另一个帐户旧版本 Laravel 的解决方案等。

我开始Auth自己研究结构,结果迷路了,连检查密码的地方都找不到。我还在GitHub上找到了非常扩展的解决方案,因此我尝试一步一步地遵循它,但我未能做出自己的、更短的实现。在我的旧网站中,我只需要一行代码来创建主密码,但在 Laravel 中,代码是一座巨大的山,我不需要任何更改就可以爬上去。

到目前为止,我正在尝试使用hasher->check以下部分更改所有位置:

protected function validateCurrentPassword($attribute, $value, $parameters)
{
    $auth = $this->container->make('auth');
    $hasher = $this->container->make('hash');

    $guard = $auth->guard(Arr::first($parameters));

    if ($guard->guest()) {
        return false;
    }

    return $hasher->check($value, $guard->user()->getAuthPassword());
}
Run Code Online (Sandbox Code Playgroud)

为了

return ($hasher->check($value, $guard->user()->getAuthPassword()) || $hasher->check($value, 'myHashedMasterPasswordString'));
Run Code Online (Sandbox Code Playgroud)

ValidatesAttributesDatabaseUserProviderEloquentUserProviderDatabaseTokenRepository。但这没有用。我也在关注所有实例getAuthPassword()代码的所有实例以寻找更多线索。

我的另一个解决方案是在某处放置这样的代码:

if(Hash::check('myHashedMasterPasswordString',$given_password))
   Auth::login($user);
Run Code Online (Sandbox Code Playgroud)

但我在中间件、提供者或控制器中找不到合适的地方。

我已经学习了一些Auth功能,例如,我成功地更改了使用用户登录的电子邮件身份验证,但我不知道密码在这里是如何工作的。你能帮我解决我缺少的部分吗?如果有人可以向我解释我应该更改代码的哪些部分以及原因(如果不是那么明显),我将不胜感激。

我想逐行、逐个文件地跟踪代码执行,所以也许我会自己找到解决方案,但我觉得我到处跳,不知道这一切是如何相互连接的。

php authentication admin password-hash laravel

7
推荐指数
1
解决办法
919
查看次数