主明细并排视图选择条目时自动登出问题求助
问题描述
- 点击主记录任意条目时,应用自动跳转到登录页面,重建页面后问题仍未解决
- 开启9级调试未获取有效排查信息,浏览器开发者工具Network面板中,跳转到登录页的请求显示为红色异常状态
- 触发跳转的链接示例:
href="/ords/r/gerencial/gerencial/departamentos-de-para?p18_sa_dim_departamento_padrao_id=1&session=111980260355851&cs=3sYX65TfqbnqSAueW83VCSt4l-x2iIh57g14JVFvI_Tx0sUT9UuWwyi7w7T4-TP_1dzgfpi8DMO70Pb4Rcdq6tg" - 链接中的
session参数与当前会话ID不符,执行select v('session')返回的是链接内的旧session值,而非当前URL中的有效session
排查与解决步骤
- 校验链接生成逻辑
- 确认页面链接是通过APEX内置的
APEX_UTIL.PREPARE_URL方法或页面项绑定生成,而非硬编码或自定义拼接。若手动构造URL,必须使用当前会话的有效session ID,可通过V('SESSION')在正确上下文(如页面渲染阶段)获取最新值,避免引用缓存或旧数据中的session。
- 确认页面链接是通过APEX内置的
- 清理应用缓存
- 进入应用构建器,点击应用名称旁的「编辑应用属性」,执行「重置应用缓存」操作;
- 在SQL Workshop中执行缓存清理脚本:
BEGIN APEX_UTIL.CLEAR_APP_CACHE(p_app_id => :APP_ID); END;
- 检查会话安全配置
- 进入应用的「安全属性」设置:
- 确认「会话保护」已启用,防止会话劫持导致的无效session请求;
- 核查「会话超时」设置,排除会话提前过期的可能;
- 检查「允许会话URL中的session参数」选项,若设置为「否」,APEX会自动拒绝携带无效session的请求,触发登录跳转。
- 进入应用的「安全属性」设置:
- 排查页面项与动态动作
- 若链接由动态动作生成,确认触发时机正确,且生成URL时调用的是实时的
V('SESSION')值,而非页面加载时缓存的旧值; - 检查是否存在存储旧session ID的页面项,导致链接生成时引用错误参数。
- 若链接由动态动作生成,确认触发时机正确,且生成URL时调用的是实时的
- 排查自定义代码
- 检查应用内的自定义PL/SQL代码、触发器、AJAX回调,确认未错误覆盖
V('SESSION')的值,或在生成链接时使用了缓存的session ID; - 所有跳转逻辑优先依赖APEX内置方法,避免手动构造包含session参数的URL。
- 检查应用内的自定义PL/SQL代码、触发器、AJAX回调,确认未错误覆盖
内容的提问来源于stack exchange,提问作者Jean Simas
相关产品推荐
相关产品推荐

