2014-02-18 39 views
0

我正与另一个通过iframe集成向其用户显示我的网站(mysite.com)内容的网站(abcxyz.com)合作。用户登录上abcxyz和不知道ABOT mysite.comiframe集成 - 在会话超时后将用户重定向到父网站登录页面

EGS

所以一切工作正常为止。现在,当会话在我的网站上过期时 - 用户会自动重定向到iframe中的登录页面(mysite.com) - 所以他们想要重定向到他们的登录页面。

我正在使用Zend框架工作(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

referer头是not very reliable。即使是这样,如果用户在浏览您的网站,很可能是引用者是您自己的网站。

我不知道如果javascript是一个选项,但在那里你可以检查当前页面是否匹配父页面,如果没有(在你的情况下)重定向。因此,如果条件不符合,您必须使用重定向到其他登录页面的脚本来为您的登录页面提供服务。

相关问题