Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 670f76a8

Von Moritz Bunkus vor etwa 12 Jahren hinzugefügt

  • ID 670f76a86aaf642bf1a6b5b37cdc023f8fdfc79c
  • Vorgänger d28dde0f
  • Nachfolger a3339fc7

Formularfelder und Session-Keys für Logins umbenannt

Ziel: Ermöglichen, dass Login & Passwort auch wieder per
Formularfelder mit jedem Request übertragen werden, aber nicht mehr so
offensichtlich im "Formularfeldernamensraum" rumgeistern -- sondern
leicht aussortierbar sind. Die Formularfelder, die mit "{AUTH}"
starten, werden vom Dispatcher nach erfolgter Loginüberprüfung
automatisch entfernt, bevor die Kontrolle an die Controller/Actions
übergeben wird (unabhängig vom Routingtyp).

Vorher waren Formularfelder sowie die Session-Keys für User-Logins
"login" und "password", für Admin-Login "rpw".

Jetzt:
- Formularfelder: für User-Logins "{AUTH}login" und "{AUTH}password",
für Admin-Login "{AUTH}admin_password".
- Session-Keys: jeweils ohne "{AUTH}", sprich für User-Logins
weiterhin "login" und "password", für Admin-Login neu
"admin_password".

Unterschiede anzeigen:

bin/mozilla/login.pl
61 61
    $action = 'login';
62 62
  }
63 63
  if ($action) {
64
    %::myconfig = $auth->read_user(login => $form->{login}) if ($form->{login});
64
    $form->{login} = $form->{'{AUTH}login'} || $form->{login};
65
    %::myconfig    = $auth->read_user(login => $form->{login}) if $form->{login};
66

  
65 67
    $::locale   = Locale->new($::myconfig{countrycode}) if $::myconfig{countrycode};
66 68

  
67
    if (SL::Auth::OK != $auth->authenticate($::myconfig{login}, $form->{password})) {
69
    if (SL::Auth::OK != $auth->authenticate($::myconfig{login}, $form->{'{AUTH}password'})) {
68 70
      $form->{error_message} = $::locale->text('Incorrect username or password!');
69 71
      login_screen();
70 72
    } else {
71 73
      $auth->create_or_refresh_session();
72
      delete $form->{password};
74
      delete $form->{'{AUTH}password'};
73 75

  
74 76
      $form->{titlebar} .= " - $::myconfig{name} - $::myconfig{dbname}";
75 77
      call_sub($::locale->findsub($action));

Auch abrufbar als: Unified diff