Admin-Controller: falscher Funktionsname für Auth-Variablen gefixt
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 6 Jun 2019 10:27:14 +0000 (12:27 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 6 Jun 2019 10:27:14 +0000 (12:27 +0200)
Die Umstellung auf Auth-Handler mit Einführung der Möglichkeit, sich
auch über HTTP-Basic-Authentifizierung anzumelden, hat als Änderung
mitgebracht, dass die
Authentfizieriungsvariablen (z.B. »{AUTH}admin_password«) nicht mehr
in $::form verbleiben. Einige Controller benötigen diese aber;
z.B. der Admin-Controller, wenn es noch keine Auth-DB oder keine
Session-Tabellen gibt — denn dann ist die einzige Möglichkeit, das von
der Benutzer*in eingegebene Admin-Passwort über mehrere Requests zu
erhalten, es in der Form mitzuschleifen.

Der Admin-Controller war darauf auch schon vorbereitet — leider hatte
aber die Funktion, die diesen Umstand mitteilt, den falschen Namen und
wurde somit niemals aufgerufen.

Dies ist der zweite Teil des Fixes von #376.

SL/Controller/Admin.pm

index 0fd1566..f3e634f 100644 (file)
@@ -31,7 +31,7 @@ __PACKAGE__->run_before(\&setup_layout);
 __PACKAGE__->run_before(\&setup_client, only => [ qw(list_printers new_printer edit_printer save_printer delete_printer) ]);
 
 sub get_auth_level { "admin" };
-sub keep_auth_vars {
+sub keep_auth_vars_in_form {
   my ($class, %params) = @_;
   return $params{action} eq 'login';
 }