Peter Raganitsch

Session State vor Branch speichern

Gepostet am 07. Mai 2009

Es sind die kleinen Dinge, die das Leben schöner und einfacher machen können.

Wie z.B. die Erweiterung in APEX 3.2 im Branch deklarativ einzustellen, dass der Session State der Übergabeparameter festgeschrieben werden soll bevor auf die neue Seite gewechselt wird.

save state before branching

Sie fragen sich, was das jetzt verbessert und wo der Unterschied zu vorher liegt? Dazu am Besten 2 URLs, die so ein Page-Branch erzeugen kann.

Hier das herkömmliche Verhalten:

/apex/f?p=108:1:5935697213742060::NO::P1_PASSWORD:abc

und hier der erzeugte URL mit der aktivierten Save State Option:

/apex/f?p=108:1:5935697213742060::NO::

Parameternamen und -werte werden also nicht mehr in der Adresse übergeben, sondern tatsächlich nur in den Session State geschrieben -> dies passiert in der gleichen Datenbanksession wie das Page Submit, also noch bevor das redirect ausgeführt wird.

Dadurch ist sichergestellt, dass der Benutzer die Werte nicht sieht und nicht manipulieren kann, potentielle Probleme mit URL encoding treten so gar nicht mehr auf.

Viel wichtiger aber ist, dass der zu übergebende Wert garantiert im Session State persistiert ist und im Page Rendering bereits verfügbar ist.

Eine kleine Einstellung, aber eine grosse Hilfe.



Kommentar schreiben