Session management

Má APEX nějaký nástroj pro práci se sessions?

APEX má silný nástroj pro práci se sessions, který je ale v defaultním nastavení nastaven tak, že si nepamatuje sessionId napříč okny prohlížeče. Takže při každém novém otevření okna se vygeneruje nová session, která zruší platnost té staré. V čase, kdy je potřebné pracovat s více oknama by se hodilo, kdyby si APEX pamatoval původní session.

Jde to zabezpečit nastavením session v autentifikační schéme (Shared Components -> Authentication Schemes -> Page Session Management -> Page Sentry Function):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DECLARE
vAuthenticatedUsername VARCHAR2(512);
vCurrentSessionId NUMBER;

BEGIN
vCurrentSessionId := apex_custom_auth.get_session_id_from_cookie;
IF wwv_flow_custom_auth_std.is_session_valid THEN
apex_custom_auth.set_session_id(vCurrentSessionId);
APEX_APPLICATION.G_INSTANCE := vCurrentSessionId;
vAuthenticatedUsername := apex_custom_auth.get_username;
apex_custom_auth.set_user(vAuthenticatedUsername);

wwv_flow_custom_auth.define_user_session(p_user => vAuthenticatedUsername,p_session_id => vCurrentSessionId);
RETURN TRUE;
END IF;
RETURN FALSE;
END;
Kamil Schvarcz

jednatel, zakladatel společnosti, senior programátor, školitel

Subscribe
Upozornit na
guest
0 Komentáře
Inline Feedbacks
View all comments

Můžeme Vám s něčím poradit?

S vývojem aplikací v APEXu, Javascriptem, ...

Váš dotaz bude zveřejněn, jakmile na něj jeden z našich expertů odpoví. Vaši e-mailovou adresu nikde uvádět nebudeme.

Vyplňte prosím požadovaná pole.