From 2ef45c09ca014827841e1313a692c1d4b83fdd86 Mon Sep 17 00:00:00 2001 From: ZhuangYumin Date: Thu, 14 Dec 2023 07:44:22 +0000 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=AB=98=E6=9D=83=E9=99=90?= =?UTF-8?q?=E5=85=8D=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/engine.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/src/engine.cpp b/backend/src/engine.cpp index 2519fcf..8512d0c 100644 --- a/backend/src/engine.cpp +++ b/backend/src/engine.cpp @@ -122,11 +122,12 @@ std::vector BookStoreEngineClass::ExecuteSu( if (!CommandSuLexer(cmd, user_id, password)) return std::vector({"Invalid"}); // debugPrint("su", user_id, " ", password); + if (user_data_base.GetPrevilege(user_id) == -1) + return std::vector({"Invalid"}); if (login_stack.size() > 0 && - user_data_base.GetPrevilege(login_stack.top().first) == 7) { + user_data_base.GetPrevilege(login_stack.top().first) > + user_data_base.GetPrevilege(user_id)) { // debugPrint("has root previlege"); - if (user_data_base.GetPrevilege(user_id) == -1) - return std::vector({"Invalid"}); login_stack.push(std::make_pair(user_id, 0)); login_count[user_id]++; return std::vector();