From 8becdd238dfda44ea0c216e5d46e7e3e69ecfc34 Mon Sep 17 00:00:00 2001 From: Sven Nierlein Date: Tue, 5 Oct 2021 16:18:43 +0200 Subject: [PATCH] fix apply group based roles --- lib/Thruk/Authentication/User.pm | 2 +- lib/Thruk/Config.pm | 14 +++++++++++--- t/110-thruk_authentication_user.t | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/Thruk/Authentication/User.pm b/lib/Thruk/Authentication/User.pm index 55020a11d1..c677b62362 100644 --- a/lib/Thruk/Authentication/User.pm +++ b/lib/Thruk/Authentication/User.pm @@ -110,6 +110,7 @@ sub set_dynamic_attributes { $data->{'email'} = $email if defined $email; $data->{'can_submit_commands'} = $can_submit_commands if defined $can_submit_commands; $data->{'contactgroups'} = $groups if defined $groups; + $data->{'timestamp'} = time(); } $self->_apply_user_data($c, $data); @@ -261,7 +262,6 @@ sub _apply_user_data { $data->{'roles'} = Thruk::Base::array_uniq($roles); $data->{'can_submit_commands'} = $can_submit_commands; $data->{'roles_by_group'} = $roles_by_group; - $data->{'timestamp'} = time(); return; } diff --git a/lib/Thruk/Config.pm b/lib/Thruk/Config.pm index 6c5b145a37..67f2b26fd4 100644 --- a/lib/Thruk/Config.pm +++ b/lib/Thruk/Config.pm @@ -711,6 +711,8 @@ sub set_default_config { $config->{'omd_apache_proto'} = $proto; } + _normalize_auth_config($config); + return $config; } @@ -1247,15 +1249,21 @@ sub merge_cgi_cfg { $c->config->{$key} = $cfg->{$key}; } - ################################################### - # normalize authorized_for_* lists + _normalize_auth_config($c->config); + + return; +} + +######################################## +# normalize authorized_for_* lists +sub _normalize_auth_config { + my($config) = @_; for my $key (keys %{$config}) { if($key =~ m/^(authorized_for|authorized_contactgroup_for_)/mx) { $config->{$key} = Thruk::Base::comma_separated_list($config->{$key}); next; } } - return; } diff --git a/t/110-thruk_authentication_user.t b/t/110-thruk_authentication_user.t index c4ec8c3b78..3cacebe0e5 100644 --- a/t/110-thruk_authentication_user.t +++ b/t/110-thruk_authentication_user.t @@ -14,7 +14,7 @@ sub new { sub config { my $this = shift; - my $config = { map({ $_ => $this->{user} } @{$this->{roles}}) }; + my $config = { map({ $_ => [$this->{user}] } @{$this->{roles}}) }; $config->{var_path} = "."; return($config); }