我有一个 facebook 应用程序,我使用 play framework 1.2.4 作为我的服务器,我最近通过在 before 方法中添加标题来设法在 safari 和 Internet Explorer 中加载我的应用程序
response.setHeader("P3P", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
和一些 javascript 代码,在我的主要加载页面中。
#{if session.get("user-id") == null}
<div id="safari_cookie_hack" style="position: absolute; top: -10000px"></div>
<script>
if (document.cookie.indexOf('user-id') < 0) {
window.setTimeout(function() {
var name = 'safari_cookie_hack',
div = document.getElementById(name),
iframe = document.createElement('iframe'),
form = document.createElement('form');
iframe.name = name;
iframe.src = 'javascript:false';
div.appendChild(iframe);
form.action = location.toString();
form.method = 'POST';
form.target = name;
div.appendChild(form);
form.submit();
}, 10);
}
</script>
#{/if}
最近我想添加播放安全模块。
一切正常,但对于 safari(我的 PC 上安装了 5.1.7 版)。
第一次调用
Secure.checkAccess
工作得很好。然后最终使用该方法重定向到我的应用程序控制器
Secure.redirectToOriginalURL
在那一点上,当我看到会话具有“用户名”参数时。
但是当试图访问我的应用程序中的其他页面时。我再也没有 sessoin 并重定向到 login.html ......所有这一切都是因为安全模块
你能帮我解决这个问题吗/