From 40560230db5e69c2db40f00fa3067317963325c7 Mon Sep 17 00:00:00 2001 From: DDDHuang <44492639+DDDHuang@users.noreply.github.com> Date: Mon, 25 Apr 2022 10:54:48 +0800 Subject: [PATCH] fix: create banned & dashboard default user name --- apps/emqx_dashboard/src/emqx_dashboard_admin.erl | 7 ++++++- apps/emqx_dashboard/src/emqx_dashboard_api.erl | 2 +- apps/emqx_management/src/emqx_mgmt_api_banned.erl | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl index 140622c67..d98d7bc7e 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl @@ -45,7 +45,9 @@ , verify_hash/2 ]). --export([add_default_user/0]). +-export([ add_default_user/0 + , default_username/0 + ]). -type emqx_admin() :: #?ADMIN{}. @@ -240,6 +242,9 @@ destroy_token_by_username(Username, Token) -> add_default_user() -> add_default_user(binenv(default_username), binenv(default_password)). +default_username() -> + binenv(default_username). + binenv(Key) -> iolist_to_binary(emqx_conf:get([dashboard, Key], "")). diff --git a/apps/emqx_dashboard/src/emqx_dashboard_api.erl b/apps/emqx_dashboard/src/emqx_dashboard_api.erl index f8d5a4b4e..b7eb0c35f 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_api.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_api.erl @@ -239,7 +239,7 @@ user(put, #{bindings := #{username := Username}, body := Params}) -> end; user(delete, #{bindings := #{username := Username}}) -> - case Username == <<"admin">> of + case Username == emqx_dashboard_admin:default_username() of true -> {400, #{code => <<"ACTION_NOT_ALLOWED">>, message => <<"Cannot delete admin">>}}; diff --git a/apps/emqx_management/src/emqx_mgmt_api_banned.erl b/apps/emqx_management/src/emqx_mgmt_api_banned.erl index fc9ece871..0fe8d56f7 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_banned.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_banned.erl @@ -159,7 +159,9 @@ banned(post, #{body := Body}) -> Ban -> case emqx_banned:create(Ban) of {ok, Banned} -> {200, format(Banned)}; - {error, {already_exist, Old}} -> {400, 'ALREADY_EXISTS', format(Old)} + {error, {already_exist, Old}} -> + OldBannedFormat = emqx_json:encode(format(Old)), + {400, 'ALREADY_EXISTS', OldBannedFormat} end end.