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
commitfb056d19c4c79a0cb36eeafb561a20846a16126b (patch)
tree6892ba8733f0e6a4bf0adeeca9273fd21c51bd5f
parenta151c675fd89b4630d82c4dac76e067cd71a5535 (diff)
downloadrabbitmq-server-fb056d19c4c79a0cb36eeafb561a20846a16126b.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 dd2d9124..0c399cd0 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).