saveRegisteredUser changesessiondata="false"

Alles rund um die Erstellung von Patches, Behebung von Bugs und Contributions
Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

saveRegisteredUser changesessiondata="false"

Beitragvon Carrear » Mo 8. Feb 2016, 12:39

In meinen Tests auf webEdition Version 6.4.4.0 funktioniert oben genanntes Attribut nicht. Ich lasse mir die $_SESSION - Variable ausgeben und sie sieht nach dem saveRegisteredUser Tag anders aus als vorher. Das führt in meinem Fall zu weitreichenden Problemen, denn der User ist dann nicht mehr richtig eingeloggt und kann sich auch nicht mehr ausloggen.

Gibt es da einen Lösungsansatz?

Viele Grüße
Martin

dets-media
Senior Member
Beiträge: 143
Registriert: Fr 12. Feb 2010, 11:07
Wohnort: Duisburg

Re: saveRegisteredUser changesessiondata="false"

Beitragvon dets-media » Mo 8. Feb 2016, 13:05

Hast du im Modul Kundenverwaltung unter Einstellungen " safe Register" auf false gestellt ?

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: saveRegisteredUser changesessiondata="false"

Beitragvon Carrear » Mo 8. Feb 2016, 13:22

Ja :)

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: saveRegisteredUser changesessiondata="false"

Beitragvon mokraemer » Mo 8. Feb 2016, 14:56

Ich hab mir das saveRegisteredUser noch mal genauer angesehen. Das Attribut changesessiondata sorgt lediglich dafür das die Daten des Benutzer die in der Datenbank zur aktuellen Session abweichen aktualisiert werden. Idr. sind das die Daten die man mit dem Tag gerade in die DB geschrieben hat. Es wird dabei ausschließlich das Array $_SESSION['webuser'] geändert.
Der Login-Status wird dabei allerdings erhalten!

Könnte es sein, daß bei Euch ein Hook (customer_preSave) aktiv ist?
webEdition-Kern-Entwickler

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: saveRegisteredUser changesessiondata="false"

Beitragvon Carrear » Mo 8. Feb 2016, 16:10

Wo sieht man das?

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: saveRegisteredUser changesessiondata="false"

Beitragvon Carrear » Mo 8. Feb 2016, 16:29

Übrigens - bei mir wird die ganze $_SESSION[webuser] geändert. Zuvor stehen mehr und andere Daten drin und danach ist sehr vieles weg von diesen Daten. Warum überschreibt er das, wenn ich sage, dass er die Session Daten nicht ändern soll? Dann habe ich den Sinn des Attributs nicht richtig verstanden.

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: saveRegisteredUser changesessiondata="false"

Beitragvon Carrear » Di 9. Feb 2016, 12:52

Ich habe mir jetzt vor dem saveRegisteredUser die ID des Kunden in eine Variable geschrieben und hole mir die benötigten Daten dann nach dem Speichern manuell wieder in die Session-Variable. Eine schöne Lösung ist das aber nicht, weil sich ja auch mal die Anordnung der Felder in der Kundenverwaltung ändern kann und ich dann alle Variablennamen wieder manuell in den Vorlagen anpassen muss. Es wäre also schön, wenn ich da weiterhin Untersütztung bekomme.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: saveRegisteredUser changesessiondata="false"

Beitragvon mokraemer » Di 9. Feb 2016, 15:57

ich stelle jetzt mal ne ganz doofe Frage:
ihr übergebt aber schon die User-ID als hidden sessionfield?

Sonst versucht er ja einen neuen Kunden anzulegen. v.a. wenn ihr die Einstellung saveRegisteredUser gegen die Empfehlung auf "true" stehen habt, oder bei saveRegisteredUser register="true" setzt.
webEdition-Kern-Entwickler

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: saveRegisteredUser changesessiondata="false"

Beitragvon Carrear » Di 9. Feb 2016, 16:01

Berechtigte Frage :) Aber ja, das tun wir. Findet sich aber nach dem saveRegisteredUser nicht mehr in der $_SESSION[webuser] Variable. Nur die sichtbaren Felder stehen noch drin. Im Prinzip fehlt nach dem Speichern ALLES außer den explizit übergebenen Werten, die als sichtbare Felder im Formular stehen.

Lasse ich mir die $_SESSION Variable im verarbeitenden Script vor saveRegisteredUser anzeigen, ist noch alles drin. Es ist also ganz eindeutig dieser Tag, der die Inhalte raus schmeißt und nur noch das rein schreibt, was im Formular sichtbar ist und explizit übergeben wurde.

Viele Grüße
Martin

PS: register steht Systemseitig auf false und daran haben wir auch nichts geändert - das habe ich gestern noch einmal geprüft.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: saveRegisteredUser changesessiondata="false"

Beitragvon mokraemer » Di 9. Feb 2016, 17:53

oh. ich sehe da gerade eine Möglichkeit.
Wird bzw. kann der Benutzer hier ein Passwort setzen?
Ich vermute das du nach dem Save auch über
<we:ifNotWritten type="customer">
eine Ausgabe bekommst. In dem Fall für das Passwort wird fälschlich tatsächlich die Session "gekillt".
Das Problem hier war, wenn man Datenänderungen machen will und die abgelehnt werden weil das Passwort zu kurz ist, nicht stimmt, o.ä. dann wurden die Eingaben übernommen egal was eingestellt war - war wohl ein Denkfehler.

Ab 11345 im nightly verfügbar.
webEdition-Kern-Entwickler


Zurück zu „Patches, Bugs und Contributions“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste