- %::myconfig = $::form->{'{AUTH}login'} ? $::auth->read_user(login => $::form->{'{AUTH}login'}) : ();
- %::myconfig = SL::Dispatcher::AuthHandler::User->new->handle(countrycode => $::myconfig{countrycode});
- $::form->{login} = $::myconfig{login};
+ my $login = $::form->{'{AUTH}login'} || $::auth->get_session_value('login');
+ my $client_id = $::form->{'{AUTH}client_id'} || $::auth->get_session_value('client_id');
+ my $error = t8('Incorrect username or password or no access to selected client!');
+
+ if (!$::auth->set_client($client_id)) {
+ $::auth->punish_wrong_login;
+ return $self->show_login_form(error => $error);
+ }
+
+ %::myconfig = $login ? $::auth->read_user(login => $login) : ();
+ $::form->{login} = $login;