|
|
@@ -24,9 +24,26 @@
|
|
|
unload/0
|
|
|
]).
|
|
|
|
|
|
+-export([bin/1, print_error/1]).
|
|
|
+
|
|
|
+-if(?EMQX_RELEASE_EDITION == ee).
|
|
|
+-define(CLI_MOD, emqx_dashboard_sso_cli).
|
|
|
+-else.
|
|
|
+-define(CLI_MOD, ?MODULE).
|
|
|
+-endif.
|
|
|
+
|
|
|
load() ->
|
|
|
- emqx_ctl:register_command(admins, {?MODULE, admins}, []).
|
|
|
+ emqx_ctl:register_command(admins, {?CLI_MOD, admins}, []).
|
|
|
|
|
|
+admins(["add", Username, Password]) ->
|
|
|
+ admins(["add", Username, Password, ""]);
|
|
|
+admins(["add", Username, Password, Desc]) ->
|
|
|
+ case emqx_dashboard_admin:add_user(bin(Username), bin(Password), ?ROLE_DEFAULT, bin(Desc)) of
|
|
|
+ {ok, _} ->
|
|
|
+ emqx_ctl:print("ok~n");
|
|
|
+ {error, Reason} ->
|
|
|
+ print_error(Reason)
|
|
|
+ end;
|
|
|
admins(["passwd", Username, Password]) ->
|
|
|
case emqx_dashboard_admin:change_password(bin(Username), bin(Password)) of
|
|
|
{ok, _} ->
|
|
|
@@ -41,8 +58,14 @@ admins(["del", Username]) ->
|
|
|
{error, Reason} ->
|
|
|
print_error(Reason)
|
|
|
end;
|
|
|
-admins(Args) ->
|
|
|
- inner_admins(Args).
|
|
|
+admins(_) ->
|
|
|
+ emqx_ctl:usage(
|
|
|
+ [
|
|
|
+ {"admins add <Username> <Password> <Description>", "Add dashboard user"},
|
|
|
+ {"admins passwd <Username> <Password>", "Reset dashboard user password"},
|
|
|
+ {"admins del <Username>", "Delete dashboard user"}
|
|
|
+ ]
|
|
|
+ ).
|
|
|
|
|
|
unload() ->
|
|
|
emqx_ctl:unregister_command(admins).
|
|
|
@@ -54,47 +77,3 @@ print_error(Reason) when is_binary(Reason) ->
|
|
|
%% Maybe has more types of error, but there is only binary now. So close it for dialyzer.
|
|
|
% print_error(Reason) ->
|
|
|
% emqx_ctl:print("Error: ~p~n", [Reason]).
|
|
|
-
|
|
|
--if(?EMQX_RELEASE_EDITION == ee).
|
|
|
-usage() ->
|
|
|
- [
|
|
|
- {"admins add <Username> <Password> <Role> <Description>", "Add dashboard user"},
|
|
|
- {"admins passwd <Username> <Password>", "Reset dashboard user password"},
|
|
|
- {"admins del <Username>", "Delete dashboard user"}
|
|
|
- ].
|
|
|
-
|
|
|
-inner_admins(["add", Username, Password]) ->
|
|
|
- inner_admins(["add", Username, Password, ?ROLE_SUPERUSER]);
|
|
|
-inner_admins(["add", Username, Password, Role]) ->
|
|
|
- inner_admins(["add", Username, Password, Role, ""]);
|
|
|
-inner_admins(["add", Username, Password, Role, Desc]) ->
|
|
|
- case emqx_dashboard_admin:add_user(bin(Username), bin(Password), bin(Role), bin(Desc)) of
|
|
|
- {ok, _} ->
|
|
|
- emqx_ctl:print("ok~n");
|
|
|
- {error, Reason} ->
|
|
|
- print_error(Reason)
|
|
|
- end;
|
|
|
-inner_admins(_) ->
|
|
|
- emqx_ctl:usage(usage()).
|
|
|
--else.
|
|
|
-
|
|
|
-usage() ->
|
|
|
- [
|
|
|
- {"admins add <Username> <Password> <Description>", "Add dashboard user"},
|
|
|
- {"admins passwd <Username> <Password>", "Reset dashboard user password"},
|
|
|
- {"admins del <Username>", "Delete dashboard user"}
|
|
|
- ].
|
|
|
-
|
|
|
-inner_admins(["add", Username, Password]) ->
|
|
|
- inner_admins(["add", Username, Password, ""]);
|
|
|
-inner_admins(["add", Username, Password, Desc]) ->
|
|
|
- case emqx_dashboard_admin:add_user(bin(Username), bin(Password), ?ROLE_SUPERUSER, bin(Desc)) of
|
|
|
- {ok, _} ->
|
|
|
- emqx_ctl:print("ok~n");
|
|
|
- {error, Reason} ->
|
|
|
- print_error(Reason)
|
|
|
- end;
|
|
|
-inner_admins(_) ->
|
|
|
- emqx_ctl:usage(usage()).
|
|
|
-
|
|
|
--endif.
|