Dispatcher: Auch Controller ermöglichen, die Admin-Login benötigen
[kivitendo-erp.git] / SL / Dispatcher / AuthHandler / User.pm
1 package SL::Dispatcher::AuthHandler::User;
2
3 use strict;
4
5 use parent qw(Rose::Object);
6
7 sub handle {
8   my $login = $::auth->get_session_value('login');
9   SL::Dispatcher::show_error('login/password_error', 'password') if not defined $login;
10
11   %::myconfig = $::auth->read_user(login => $login);
12
13   SL::Dispatcher::show_error('login/password_error', 'password') unless $::myconfig{login};
14
15   $::locale = Locale->new($::myconfig{countrycode});
16
17   SL::Dispatcher::show_error('login/password_error', 'password') if SL::Auth::OK != $::auth->authenticate($login, undef);
18
19   $::auth->create_or_refresh_session;
20   $::auth->delete_session_value('FLASH');
21   delete $::form->{password};
22 }
23
24 1;