好的,这就是发生的事情:
我有一个客户端,我正在构建一个应用程序。我的客户有一个流程图,他们希望在他们的应用程序的首页上发布。校验。然后,我的客户希望将此流程图设置为图像映射,以便用户可以单击此流程图中的其中一个框,并将其转到应用程序另一部分的报告中。检查。
所有这一切都是基本的,从技术意义上说,是有效的。问题是,这是我之前遇到的APEX问题,每次用户点击其中一个链接时,都会将它们带到登录屏幕。似乎直接链接到页面的URL会破坏会话并要求您再次登录,即使您从应用程序中的一个页面链接到同一应用程序中的另一个页面也是如此。
我已经使用了所有的身份验证设置,希望能够解决这个问题并尝试确定什么会破坏会话但没有运气。
有没有其他人遇到此问题并可以分享他们修复方法?我真的不能让用户每次点击链接登录,我也不能简单地删除页面上的身份验证。提前谢谢。
答案 0 :(得分:2)
您应该在链接中传递会话ID。如果不这样做,那么apex会将此视为新会话。您可以从网址告知:当您在图片地图上时,请记下网址中的会话ID。选择应用程序时,请再次查看URL中的会话ID部分。如果它们不同,那么每次都会开始一个新的会话。
/apex/f?p=190:90:1674713700462259:::::
190
- >申请ID 90
- >页面标识1674713700462259
- >会话ID 要传递会话,它取决于您构建链接的位置。
在PLSQL中,您可以通过:SESSION
或:APP_SESSION
例如,在plsql动态区域中:htp.p('the session id is '||:SESSION);
在javascript代码中,您可以使用$v("pInstance")
动态检索值,或使用将在运行时替换值的&APP_SESSION.
。
小例子:
function printsome(){
var d = $("<div></div>");
d.text('&APP_SESSION. = ' + $v("pInstance"));
$("body").append(d);
};
所以你可能只需要改变链接的构造,包括会话!