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.
__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';
}