Skip to content

Commit 18f2757

Browse files
committed
fix setting roles on rest api with role restriction in place
1 parent 3cbaff0 commit 18f2757

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lib/Thruk/Authentication/User.pm

+4-2
Original file line numberDiff line numberDiff line change
@@ -139,21 +139,23 @@ sub set_dynamic_attributes {
139139
$data->{'contactgroups'} = [sort keys %{$data->{'contactgroups'}}];
140140
}
141141
}
142-
143142
$self->_apply_user_data($c, $data);
144143

145144
$self->clean_roles($roles, $force_roles);
145+
$self->clean_roles($self->{'roles_restriction'}, $force_roles) if $self->{'roles_restriction'};
146146

147147
if($self->check_user_roles('admin')) {
148148
$self->grant('admin');
149149
}
150150

151151
$self->{'roles'} = Thruk::Base::array_uniq($self->{'roles'});
152152

153-
if(!$skip_db_access) {
153+
if(!$skip_db_access && !$roles) {
154154
$c->cache->set('users', $username, $data);
155155
}
156156

157+
$self->{'roles_restriction'} = $roles if defined $roles;
158+
157159
$c->stats->profile(end => "User::set_dynamic_attributes");
158160
return $self;
159161
}

0 commit comments

Comments
 (0)