summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2010-11-22 13:58:30 +0000
committerSimon MacMullen <simon@rabbitmq.com>2010-11-22 13:58:30 +0000
commit194543338122d9807f2a809c9458d8aac0199c16 (patch)
tree6892ba8733f0e6a4bf0adeeca9273fd21c51bd5f
parentaeab4639d6dc4182c66c336d58b7fc9050143b68 (diff)
downloadrabbitmq-server-git-194543338122d9807f2a809c9458d8aac0199c16.tar.gz
Allow auth backend modules to fail
-rw-r--r--src/rabbit_access_control.erl9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl
index dd2d9124b7..0c399cd0ab 100644
--- a/src/rabbit_access_control.erl
+++ b/src/rabbit_access_control.erl
@@ -116,7 +116,14 @@ check_user_login(Username, AuthProps) ->
{ok, Modules} = application:get_env(rabbit, auth_backends),
lists:foldl(
fun(Module, {refused, _}) ->
- Module:check_user_login(Username, AuthProps);
+ case Module:check_user_login(Username, AuthProps) of
+ {error, E} ->
+ rabbit_log:warning("~p failed authenticating ~p: ~p~n",
+ [Module, Username, E]),
+ {refused, Username};
+ Else ->
+ Else
+ end;
(_, {ok, User}) ->
{ok, User}
end, {refused, Username}, Modules).