我在所有项目中都使用 select2 并且工作正常。但在我的新项目中,我的 select2 输入没有按应有的方式聚焦。我必须点击它才能聚焦。问题是什么?我该如何解决它?
我不知道要显示哪部分代码,因为我没有更改标准 select2 函数中的任何内容。
我有一个纯 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)
在ValidatesAttributes、DatabaseUserProvider、EloquentUserProvider和DatabaseTokenRepository。但这没有用。我也在关注所有实例getAuthPassword()代码的所有实例以寻找更多线索。
我的另一个解决方案是在某处放置这样的代码:
if(Hash::check('myHashedMasterPasswordString',$given_password))
Auth::login($user);
Run Code Online (Sandbox Code Playgroud)
但我在中间件、提供者或控制器中找不到合适的地方。
我已经学习了一些Auth功能,例如,我成功地更改了使用用户登录的电子邮件身份验证,但我不知道密码在这里是如何工作的。你能帮我解决我缺少的部分吗?如果有人可以向我解释我应该更改代码的哪些部分以及原因(如果不是那么明显),我将不胜感激。
我想逐行、逐个文件地跟踪代码执行,所以也许我会自己找到解决方案,但我觉得我到处跳,不知道这一切是如何相互连接的。