fix: dashboard change pwd & delete user with destory token
This commit is contained in:
parent
40560230db
commit
3b13f1dfcc
|
@ -117,7 +117,13 @@ remove_user(Username) when is_binary(Username) ->
|
||||||
_ -> mnesia:delete({?ADMIN, Username})
|
_ -> mnesia:delete({?ADMIN, Username})
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
return(mria:transaction(?DASHBOARD_SHARD, Trans)).
|
case return(mria:transaction(?DASHBOARD_SHARD, Trans)) of
|
||||||
|
{ok, Result} ->
|
||||||
|
_ = emqx_dashboard_token:destroy_by_username(Username),
|
||||||
|
{ok, Result};
|
||||||
|
{error, Reason} ->
|
||||||
|
{error, Reason}
|
||||||
|
end.
|
||||||
|
|
||||||
-spec(update_user(binary(), binary()) -> {ok, map()} | {error, term()}).
|
-spec(update_user(binary(), binary()) -> {ok, map()} | {error, term()}).
|
||||||
update_user(Username, Desc) when is_binary(Username) ->
|
update_user(Username, Desc) when is_binary(Username) ->
|
||||||
|
@ -160,20 +166,28 @@ change_password(Username, Password) when is_binary(Username), is_binary(Password
|
||||||
change_password_hash(Username, hash(Password)).
|
change_password_hash(Username, hash(Password)).
|
||||||
|
|
||||||
change_password_hash(Username, PasswordHash) ->
|
change_password_hash(Username, PasswordHash) ->
|
||||||
update_pwd(Username, fun(User) ->
|
ChangePWD =
|
||||||
User#?ADMIN{pwdhash = PasswordHash}
|
fun(User) ->
|
||||||
end).
|
User#?ADMIN{pwdhash = PasswordHash}
|
||||||
|
end,
|
||||||
|
case update_pwd(Username, ChangePWD) of
|
||||||
|
{ok, Result} ->
|
||||||
|
_ = emqx_dashboard_token:destroy_by_username(Username),
|
||||||
|
{ok, Result};
|
||||||
|
{error, Reason} -> {error, Reason}
|
||||||
|
end.
|
||||||
|
|
||||||
update_pwd(Username, Fun) ->
|
update_pwd(Username, Fun) ->
|
||||||
Trans = fun() ->
|
Trans =
|
||||||
User =
|
fun() ->
|
||||||
case lookup_user(Username) of
|
User =
|
||||||
|
case lookup_user(Username) of
|
||||||
[Admin] -> Admin;
|
[Admin] -> Admin;
|
||||||
[] ->
|
[] ->
|
||||||
mnesia:abort(<<"Username Not Found">>)
|
mnesia:abort(<<"Username Not Found">>)
|
||||||
end,
|
end,
|
||||||
mnesia:write(Fun(User))
|
mnesia:write(Fun(User))
|
||||||
end,
|
end,
|
||||||
return(mria:transaction(?DASHBOARD_SHARD, Trans)).
|
return(mria:transaction(?DASHBOARD_SHARD, Trans)).
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue