Kategorien
Allgemein Kleine Tipps

Ist Benutzer angemeldet als Entwickler?

Manchmal muss man wissen, ob der angemeldete Applikations-Benutzer  auch als Entwickler im Workspace angemeldet ist. Das kann man über die undokumentierte PL/SQL-Funktion apex_application.g_edit_cookie_session_id herausfinden.

Die Funktion gibt uns die ID der Workspace-Session zurück. (Im Gegensatz zur Funktion apex_application.g_cookie_session_id bzw. zum Substitution String :APP_SESSION, die uns die Session ID der Anwendung zurück geben.)

Dieser Tipp wurde vor längerer Zeit schon von Patrick Wolf gepostet.

http://www.inside-oracle-apex.com/is-my-application-running-in-developer-mode/

Weil ich nicht mit Google-Skills, sondern erst durch Zufall wieder auf diesen Beitrag gestoßen bin, erwähne ich es hier noch einmal.

Mit der Workspace-Session-ID kann man übrigens auch weitere interessante Sachen anstellen. Unter anderem ist damit ein Deep Link zum Workspace möglich und man kann z.B. eine bestimmte Stelle im Page Designer verklinken. Derartige Links sind ohne gültige Session nicht möglich, denn man landet nach dem Login immer auf der Startseite des Workspaces.

Übrigens: Wenn man wissen möchte, ob der angemeldete Benutzer prinzipiell Workspace-Rechte besitzt, auch wenn die Seite nicht im Developer Mode läuft, dann hilft sicher mein Tipp “Feststellen ob Benutzer APEX-Developer ist”.

Kategorien
Allgemein

Wie stelle ich fest, ob der Benutzer ein APEX-Entwickler ist?

teaser_is_user_apex_developer

In einem meiner letzten Projekte musste ich wissen, ob der angemeldete Benutzer auch Entwicklerrechte für den Workspace hat oder ob es sich “nur” um einen normalen User handelt.

Im Unterschied zu einem anderen Tipp möchte ich nicht feststellen, ob er auch bereits am Workspace eingeloggt ist. Ich möchte wissen, ob er für den Workspace freigeschaltet ist und sich anmelden könnte.

Der Aufruf APEX_UTIL.GET_USER_ROLES(:APP_USER) kann uns dabei folgendermaßen weiterhelfen.

Kategorien
Allgemein

APEX User Roles: Eine Übersicht

Hier eine Übersicht darüber, welche Werte die Funktion APEX_UTIL.GET_USER_ROLES(p_user_name) zurückgibt. Diese Benutzerrechte kann man im APEX-Workspace einstellen unter Workspace-Administration >> Manager Users and Groups >> Users.


Workspace-Administrator
ADMIN:CREATE:EDIT:HELP:MONITOR:SQL:DATA_LOADER

apex_role_admin
Option “Workspace Administrator” ausgewählt