diff options
| author | Arnaud Cogoluègnes <acogoluegnes@gmail.com> | 2018-07-04 11:08:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-04 11:08:46 +0200 |
| commit | 77fcb2c09fb3142d6c3cc26153f5d4d543da15cd (patch) | |
| tree | b10cc32464a4accd13138194d9e40dcdc58a3a84 | |
| parent | 184ff0ca164d5084f94ab0414189de6115bf78eb (diff) | |
| parent | ddb88163e476c54a4b96ab10b74a470d3ae7e0e7 (diff) | |
| download | rabbitmq-server-git-77fcb2c09fb3142d6c3cc26153f5d4d543da15cd.tar.gz | |
Merge pull request #1634 from rabbitmq/rabbitmq-server-1633
Pass authentication context to Mod:user_login_authorization/2
| -rw-r--r-- | src/rabbit_access_control.erl | 6 | ||||
| -rw-r--r-- | src/rabbit_auth_backend_internal.erl | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl index e74032eb6d..9bbebfaebf 100644 --- a/src/rabbit_access_control.erl +++ b/src/rabbit_access_control.erl @@ -64,7 +64,7 @@ check_user_login(Username, AuthProps) -> %% passwordless (i.e pre-authenticated) login with authZ. case try_authenticate(ModN, Username, AuthProps) of {ok, ModNUser = #auth_user{username = Username2}} -> - user(ModNUser, try_authorize(ModZs, Username2)); + user(ModNUser, try_authorize(ModZs, Username2, AuthProps)); Else -> Else end; @@ -93,10 +93,10 @@ try_authenticate(Module, Username, AuthProps) -> {refused, F, A} -> {refused, Username, F, A} end. -try_authorize(Modules, Username) -> +try_authorize(Modules, Username, AuthProps) -> lists:foldr( fun (Module, {ok, ModsImpls, ModsTags}) -> - case Module:user_login_authorization(Username) of + case Module:user_login_authorization(Username, AuthProps) of {ok, Impl, Tags}-> {ok, [{Module, Impl} | ModsImpls], ModsTags ++ Tags}; {ok, Impl} -> {ok, [{Module, Impl} | ModsImpls], ModsTags}; {error, E} -> {refused, Username, diff --git a/src/rabbit_auth_backend_internal.erl b/src/rabbit_auth_backend_internal.erl index 166732e523..af19352c70 100644 --- a/src/rabbit_auth_backend_internal.erl +++ b/src/rabbit_auth_backend_internal.erl @@ -20,7 +20,7 @@ -behaviour(rabbit_authn_backend). -behaviour(rabbit_authz_backend). --export([user_login_authentication/2, user_login_authorization/1, +-export([user_login_authentication/2, user_login_authorization/2, check_vhost_access/3, check_resource_access/3, check_topic_access/4]). -export([add_user/3, delete_user/2, lookup_user/1, @@ -133,7 +133,7 @@ user_login_authentication(Username, AuthProps) -> false -> exit({unknown_auth_props, Username, AuthProps}) end. -user_login_authorization(Username) -> +user_login_authorization(Username, _AuthProps) -> case user_login_authentication(Username, []) of {ok, #auth_user{impl = Impl, tags = Tags}} -> {ok, Impl, Tags}; Else -> Else |
