【问题标题】:oracle apex creates a session for 'nobody' user after logoutoracle apex 在注销后为“nobody”用户创建会话
【发布时间】:2018-04-03 06:57:05
【问题描述】:

在我的 oracle apex 应用程序中,我编写了从应用程序注销后删除应用程序会话的代码。我将会话从表 wwv_flow_sessions$ 中删除为

delete from APEX_050000.wwv_flow_sessions$ where id=v('APP_SESSION');

其中 'APP_SESSION' 保存记录的会话 ID。删除会话后,将在表 wwv_flow_sessions$ 中使用用户名“nobody”创建一个新会话。当我下次登录应用程序时,这个会话被分配给新登录的用户。我的问题是为什么当我从应用程序注销时会创建一个会话

【问题讨论】:

    标签: oracle-apex oracle-apex-5


    【解决方案1】:

    您不应手动删除 APEX 内部表中的某些内容。如果您的应用程序确实有一个注销链接(使用 &LOGOUT_URL。)并且用户单击它,APEX 将自动对您的会话进行必要的清理。根据您在共享组件 -> 身份验证方案 -> 当前 -> 注销后 URL 中的设置,APEX 将决定下一步做什么。如果您的应用程序指定转到“主页”,APEX 引擎将不得不创建一个新的匿名会话,直到用户登录。请记住,即使是未经身份验证的用户也可以拥有会话状态,...

    【讨论】:

    • 简短回答 - 它需要一个会话来呈现任何页面,包括登录页面。此行为与最初访问登录页面相同。
    • @Patrick 和 Scott,所以您是说用户从应用程序注销后将创建一个用户名为nobody 的条目。如果有 10 万用户从应用程序中注销,它将创建 10 万个新会话。不是吗?
    • 是的,如果您的注销后 URL 指向应用程序的主页/登录页面,则会创建一个会话。如果您想避免这种行为,您可以在 Authentication Scheme -> Post-Logout URL -> Go To=URL 中指定一个自定义 URL,该 URL 指向一个静态 HTML,让用户知道他已注销。
    猜你喜欢
    • 2020-02-28
    • 2018-03-17
    • 1970-01-01
    • 2019-05-17
    • 2018-03-01
    • 2015-08-14
    • 2018-07-08
    • 2012-09-28
    • 2016-09-23
    相关资源
    最近更新 更多