精简版:
如果函数 wwv_flow_custom_auth_std.is_session_valid(或 apex_custom_auth_std.is_session_valid)返回 TRUE,会话是否可能已过期但仍然存在?如果是这样,您如何检查会话是否已过期?
长版:
我为我们的 Oracle APEX 应用程序创建了一个单点登录系统,大致基于本教程:
http://www.oracle.com/technology/oramag/oracle/09-may/o39security.html
唯一的区别是我的主 SSO 登录是在 Perl 中,而不是在另一个 APEX 应用程序中。它设置了一个 SSO cookie,应用程序可以通过数据库过程检查它是否有效。
我注意到,当我早上到达时,整个系统都不起作用。我从 APEX 应用程序重新加载了一个页面,然后它将我发送到 SSO 页面,因为会话已过期,我登录并重定向回我原来的 APEX 应用程序页面。这通常有效,除了早上的第一件事。APEX 会话似乎已过期。在那种情况下,它似乎找到了会话,但随后拒绝使用它,并将我送回登录页面。
我已尽力追踪问题。“wwv_flow_custom_auth_std.is_session_valid”函数返回真,所以我假设会话是有效的。但是在我删除 APEX 会话 cookie 之前没有任何效果。然后我可以轻松地重新登录。
有人知道是否有另一个电话会告诉我会话是否过期?
谢谢