Revision caa629de
Von Moritz Bunkus vor mehr als 5 Jahren hinzugefügt
SL/Auth/SessionValue.pm | ||
---|---|---|
46 | 46 |
my ($self) = @_; |
47 | 47 |
|
48 | 48 |
return $self if $self->{fetched}; |
49 |
return $self if !$self->{auth}->session_tables_present; |
|
49 | 50 |
|
50 | 51 |
my $dbh = $self->{auth}->dbconnect; |
51 | 52 |
my $query = qq|SELECT sess_value FROM auth.session_content WHERE (session_id = ?) AND (sess_key = ?)|; |
Auch abrufbar als: Unified diff
SessionValue: damit klarkommen, dass Auth-DB & Session-Tabellen nicht existieren
Durch die Änderungen letztens, mit der Session-Werte auch bei parallel
laufenden kivitendo-Requests richtig erhalten bleiben, wurde
SessionValue so umgeschrieben, dass es davon ausgeht, dass sowohl die
Auth-DB als auch die Session-Tabellen immer existieren.
Dies ist jedoch während der Erstinstallation nicht der Fall. Diverse
Requests im Admin-Controller müssen ausgeführt werden können, damit
Auth-DB & Session-Tabellen über den Controller angelegt werden können.
Da der Admin-Auth-Handler aber auch mit Sessions funktionieren kann,
fragt er also Session-Werte ab; die wiederum versuchen,
SessionValue-Instanzen zu nutzen.
SessionValue prüft nun bewusst auf Präsenz der Session-Tabellen, bevor
es versucht, aus ihnen zu lesen.
Dies ist Teil des Fixes von #376.