diff --git a/src/db/auth.cpp b/src/db/auth.cpp
index c62641b..4c235a5 100644
--- a/src/db/auth.cpp
+++ b/src/db/auth.cpp
@@ -70,8 +70,8 @@ extern "C"
{
if (filter(user_id)) return 0;
- auto status =
- user_db->Put(leveldb::WriteOptions{}, mangle_user_id(user_id), generate_hash(password, iter_round));
+ auto hash = generate_hash(password, iter_round);
+ auto status = user_db->Put(leveldb::WriteOptions{}, mangle_user_id(user_id), hash);
if (!status.ok()) {
std::println(stderr, "Failed to set user password: {}", status.ToString());
return 0;
@@ -99,7 +99,7 @@ extern "C"
auto batch = leveldb::WriteBatch{};
batch.Put(mangle_user_id(user_id), generate_hash(password, iter_round));
- batch.Put(mangle_permission(user_id), "1");
+ batch.Put(mangle_permission(user_id), "2");
auto status = user_db->Write(leveldb::WriteOptions{}, &batch);
if (!status.ok()) {
std::println(stderr, "Failed to register: {}", status.ToString());
@@ -150,11 +150,12 @@ extern "C"
return 1;
}
- int set_admin_password_hash(const char* hash)
+ int set_admin_password(const char* password)
{
+ auto hash = generate_hash(password, iter_round);
auto status = user_db->Put(leveldb::WriteOptions{}, "admin_password_hash", hash);
if (!status.ok()) {
- std::println(stderr, "Failed to set admin password hash: {}", status.ToString());
+ std::println(stderr, "Failed to set admin password: {}", status.ToString());
return 0;
}
return 1;
@@ -165,14 +166,14 @@ extern "C"
auto value = std::string{};
auto status = user_db->Get(leveldb::ReadOptions{}, "admin_password_hash", &value);
if (!status.ok()) {
- std::println(stderr, "Failed to login: {}", status.ToString());
+ std::println(stderr, "Failed to login admin: {}", status.ToString());
return 0;
}
*result = validate_password(password, value.data());
return 1;
}
- int has_admin_password_hash(int* result)
+ int has_admin_password(int* result)
{
auto value = std::string{};
auto status = user_db->Get(leveldb::ReadOptions{}, "admin_password_hash", &value);
@@ -181,7 +182,7 @@ extern "C"
} else if (status.IsNotFound()) {
*result = 0;
} else {
- std::println(stderr, "Failed to check admin password hash existence: {}", status.ToString());
+ std::println(stderr, "Failed to check admin password existence: {}", status.ToString());
return 0;
}
return 1;
diff --git a/ui/src/components/users/UserPanel.vue b/ui/src/components/users/UserPanel.vue
index 404f1f0..27c6832 100644
--- a/ui/src/components/users/UserPanel.vue
+++ b/ui/src/components/users/UserPanel.vue
@@ -1,7 +1,14 @@
- 用户 ID: {{ userId }}
+
+
+ 用户 ID: {{ userId }}
+
+
+
+ 权限: {{ userPermissionReadable }}
+
@@ -20,9 +27,6 @@
-
-
-
@@ -36,10 +40,9 @@