|
APEX-Anwendung ohne erneuten Login wechseln
| Erscheinungsmonat |
APEX-Version |
Datenbankversion |
| Februar 2012 |
ab 3.x |
ab 9.2 |
Wechselt man von einer APEX-Anwendung zu einer anderen, so muss man sich neu einloggen - das
ist normal. Mitunter aber möchte man die Anwendung zwar wechseln, für den Endanwender soll es
aber so aussehen, als ob er sich immer noch in der gleichen Anwendung befindet: Das bedeutet,
dass kein neues Login-Fenster auftauchen darf. In diesem Tipp lesen Sie, wie das geht - und
soviel vorab: Es ist sehr einfach!
Wenn Sie sich durch die APEX-Entwicklungsumgebung bewegen, und aufmerksam auf die
URLs in der Adressleiste Ihres Browsers achten, fällt Ihnen auf, dass die APEX-Entwicklungsumgebung
sich genau so verhält. Nach der Anmeldung am APEX-Workspace befinden Sie sich auf der
Homepage, das ist Anwendung 4500. Wenn Sie in den Application Builder navigieren,
befinden Sie sich in Anwendung 4000 - nach einem Wechsel zum Administrationsbereich sind Sie in
der Anwendung 4350. Offensichtlich wechselt man in der APEX-Entwicklungsumgebung ständig
die Anwendung - und Sie müssen sich nicht immer wieder neu anmelden.
Die gute Nachricht dabei ist: Die APEX-Entwicklungsumgebung ist eine APEX-Anwendung; die gleichen
Möglichkeiten stehen Ihnen also auch für Ihre eigenen Anwendungen zur Verfügung. Und um das auszuprobieren, legen Sie sich
am besten gleich zwei APEX-Anwendungen in Ihrem Workspace an. Naheliegenderweise sollten beide
Anwendungen das gleiche Login-Verfahren verwenden. Zur Verdeutlichung des Anwendungswechsels
mit Bildschirmfotos haben wir unterschiedliche Themes verwendet - in der Praxis würde man
wahrscheinlich gerade das gleiche Theme nutzen, um den Anwendungswechsel vor dem Endanwender
zu verbergen.
Abbildung 1: "Anwendung 1"
Abbildung 2: "Anwendung 2"
Wenn Sie nun Anwendung 1 starten, müssen Sie sich anmelden. Ein Wechsel zu
Anwendung 2 bringt Sie wiederum auf die Loginseite - das ist das normale Verhalten.
Navigieren Sie nun im Application Builder zur Anwendung 1 und dort zu den
Gemeinsamen Komponenten. Gehen Sie dann zu den Authentifizierungsschemas. Dort
sollten Sie dann einen Eintrag sehen und zwar den für das von Ihnen gewählte
Authentifizierungsschema.
Abbildung 3: Authentifizierungsschemas einer Anwendung
Klicken Sie auf den kleinen Bleistift, um das Authentifizierungsschema zu
bearbeiten. Scrollen Sie dann ein wenig herunter, bis Sie den Bereich
Sessioncookieattribute sehen (Abbildung 4).
Abbildung 4: Authentifizierungsschema bearbeiten: Session-Cookie-Attribute
Tragen Sie dann einen Namen Ihrer Wahl für das Session-Cookie ein. Speichern Sie
das Authentifizierungsschema danach ab. Nun verwendet APEX anstelle des
systemgenerierten Namens den von Ihnen festgelegten für das Session-Cookie. Am
Verhalten der Anwendung ändert sich damit erstmal nichts.
Nun kommt der Trick: Machen Sie das gleiche mit der Anwendung 2. Verwenden Sie dabei den gleichen
Namen für das Session-Cookie. Das Ergebnis ist, dass beide Applikationen nun das
gleiche Session-Cookie verwenden. Und das bedeutet schließlich,
dass nur beim ersten Mal, wenn das Session-Cookie noch nicht gesetzt ist, ein Login erforderlich
ist. Beim Wechsel zur zweiten Anwendung ist das Cookie vorhanden und es ist kein Login
mehr nötig.
Das ganze funktioniert natürlich auch mit mehr als zwei Anwendungen. Die einzige
Voraussetzung ist, dass sich beide Anwendungen im gleichen Workspace befinden. Wenn Sie
einheitliches Login über mehrere Anwendungen in verschiedenen Workspaces umsetzen möchten, ist
etwas mehr zu tun - der schon vor einiger Zeit erschienenen Tipp Integriertes Login für mehrere Anwendungen: mit APEX-Bordmitteln
beschreibt die nötigen Schritte genauer.
Zurück zur Community-Seite
|