php - 尝试以管理员身份登录 laravel php 时出现问题
问题描述
我正在尝试为 laravel 应用程序设置我的本地调试环境。
一切正常。今天我删除了我的供应商文件夹并安装了作曲家。首先,我开始收到错误有效载荷未定义。
之后,我无法以管理员身份登录应用程序。这在早些时候没有发生。我不确定为什么这会引发错误。
用户名:admin@admin.com 密码:admin12345
在哈希格式的数据库中:$2y$10$BgzkwksC4dl8i3IWBGBGLudU1BjvK1giWf7wZeQm7dSOoxkaXfIAG
Hash::check($request->password, $admin->password) is always returning false.
这是我的代码:
public function login(Request $request){
$validation = Validator::make($request->all(), [
'email' => 'required|email',
'password' => 'required|min:5',
]);
if ($validation->fails()) {
return redirect()->back()->withErrors($validation)->withInput($request->only('email', 'remember'));
}
$admin = Admin::Where('email',$request->email)->first();
if($admin){
if (Hash::check($request->password, $admin->password)) {
Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember);
Session::put('admin', $admin);
return redirect()->intended(route('admin.home'));
}else{
return redirect()->back()->withErrors(['Wrong password.'])->withInput($request->only('email', 'remember'));
}
}
return redirect()->back()->withInput($request->only('email', 'remember'));
}
/作曲家.json /
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/socialite": "^3.0",
"laravel/tinker": "~1.0",
"maatwebsite/excel": "~2.1.0",
"mobiledetect/mobiledetectlib": "^2.8",
"nesbot/carbon": "^1.22",
"pear/http_request2": "^2.3",
"wildbit/laravel-postmark-provider": "^3.0",
"wildbit/postmark-php": "^2.5",
"vanderlee/swaggergen": "^2.3.19"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
}
解决方案
匹配我的密码和散列密码它不一样。使用 bcrypt-generator.com 生成新的散列密码并在 Db 中更新
手动生成哈希密码并在 Db 中更新它解决了我的问题。
推荐阅读
- python - 如何处理静态类型语言(或一般类型)中的各种错误
- django - 创建超级用户后,Django 无法访问管理员登录页面
- c# - Unity:如何修复错误 CS0201?新对象表达式不能用作语句
- spring-boot - 使用 Apple ID 登录的 Oauth2 会返回没有 CSRF 令牌的请求
- html - div 在另一个 div 下面,每个 div 都有 100% 的屏幕宽度和高度
- excel - VBA根据单元格引用设置打印区域
- javascript - 在mattable中给每一行一个随机颜色
- excel - 如何计算定量x变量对y变量的影响
- node.js - 尝试使用 puppeteer 抓取网站但出现超时错误
- java - 有人请给我解释一下