diff --git a/app/controller/AdminUser.php b/app/controller/AdminUser.php index 0c7fbf0..c6318f8 100644 --- a/app/controller/AdminUser.php +++ b/app/controller/AdminUser.php @@ -137,6 +137,16 @@ class AdminUser extends BaseController */ public function clean() { + $password = Request::param('password'); + if (empty($password)) return $this->renderError('密码不能为空'); + + $adminData = $this->request->userInfo; + + $AdminUser = new AdminModel(); + $validatePassword = $AdminUser->validatePassword($adminData['id'],$password); + if (!$validatePassword['status']) return $this->renderError($validatePassword['msg']); + + return $this->renderSuccess('已清除成功'); # 获取所有表名 $tables = Db::query('SHOW TABLES'); $tablesNameArr = []; diff --git a/app/model/AdminUser.php b/app/model/AdminUser.php index 33cfd7f..1ce54f9 100644 --- a/app/model/AdminUser.php +++ b/app/model/AdminUser.php @@ -72,6 +72,20 @@ class AdminUser extends Model return $AdminUser->id; } + public function validatePassword($id,$password) + { + $AdminUser = new AdminUser(); + $AdminUser = $AdminUser->find($id); + + + // 使用相同的盐值对输入密码进行哈希验证 + $hashedPassword = $this->generateHashedPassword($password, $AdminUser->salt); + + if ($AdminUser->password !== $hashedPassword) return ['status' => false, 'msg' => '密码错误']; + + return ['status' => true]; + } + /** * 生成密码 * @param $password