Revision caa629de
Von Moritz Bunkus vor fast 6 Jahren hinzugefügt
SL/Auth/SessionValue.pm | ||
---|---|---|
my ($self) = @_;
|
||
|
||
return $self if $self->{fetched};
|
||
return $self if !$self->{auth}->session_tables_present;
|
||
|
||
my $dbh = $self->{auth}->dbconnect;
|
||
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.