我正在与另一个网站(abcxyz.com)合作,该网站通过iframe集成向其用户显示我的网站(mysite.com)的内容。用户登录abcxyz并且不知道abot mysite.com
EGS
所以到目前为止一切正常。现在,当会话在我的网站上到期时 - 用户会自动重定向到iframe中的登录页面(mysite.com) - 所以他们想要的是重定向到他们的登录页面。
我正在使用Zend Frame工作(PHP),这就是我想要解决的问题。
在我的Zend_Acl类中 - 在predispatch方法中 - 我正在检查引用者,如果它与abyxyz匹配 - 我正在重定向到他们的登录页面,我的
if ($role == 'guest')
{
$referrer = $request->getHeader('referer');
if (strpos($referrer,'abcxyz.com') !== false) {
$redirector = new Zend_Controller_Action_Helper_Redirector();
$redirector->gotoUrl('abcxyz.com/login.htm');
}
else {
$request->setControllerName('user');
$request->setActionName('login');
}
}
这似乎不起作用。它会不断将用户重定向到我的登录页面。
我在这里做错了还是有更好的方法来处理这个
请告诉我
由于
答案 0 :(得分:0)
referer
标题为not very reliable。即使它是,如果用户导航您的网站,可能是引用者是您自己的网站。
我不知道javascript是否是一个选项,但你可以检查当前页面是否与父页面匹配,如果不是(在你的情况下),则重定向。因此,如果条件不满足,您必须使用重定向到其他登录页面的脚本来提供登录页面。