]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/Dispatcher/AuthHandler/User.pm
Dispatcher: Auch Controller ermöglichen, die Admin-Login benötigen
[kivitendo-erp.git] / SL / Dispatcher / AuthHandler / User.pm
diff --git a/SL/Dispatcher/AuthHandler/User.pm b/SL/Dispatcher/AuthHandler/User.pm
new file mode 100644 (file)
index 0000000..13d6448
--- /dev/null
@@ -0,0 +1,24 @@
+package SL::Dispatcher::AuthHandler::User;
+
+use strict;
+
+use parent qw(Rose::Object);
+
+sub handle {
+  my $login = $::auth->get_session_value('login');
+  SL::Dispatcher::show_error('login/password_error', 'password') if not defined $login;
+
+  %::myconfig = $::auth->read_user(login => $login);
+
+  SL::Dispatcher::show_error('login/password_error', 'password') unless $::myconfig{login};
+
+  $::locale = Locale->new($::myconfig{countrycode});
+
+  SL::Dispatcher::show_error('login/password_error', 'password') if SL::Auth::OK != $::auth->authenticate($login, undef);
+
+  $::auth->create_or_refresh_session;
+  $::auth->delete_session_value('FLASH');
+  delete $::form->{password};
+}
+
+1;