首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CakePHP组件IE8 + Safari中的“登录”方法失败

CakePHP组件IE8 + Safari中的“登录”方法失败
EN

Stack Overflow用户
提问于 2009-06-09 01:33:45
回答 3查看 2K关注 0票数 2

我在CakePHP项目的CakePHP中有一个方法,用于通过WordPress站点上的AJAX调用远程登录用户。该方法在通过Firefox调用时运行得非常完美,但是当我试图通过AJAX或直接从IE8或Safari的浏览器调用它时,它根本不会登录。Auth->login()方法返回true,好像一切都很好,但它没有登录。有什么想法吗?

代码语言:javascript
复制
function remoteLogin($key)
{
  # this method should only be called via AJAX
  $this->layout = 'ajax';

  $matching_key = '***';

  if($key == $matching_key)
  {
    # auto-login service account
    $data['User']['username'] = '***';
    $data['User']['password'] = $this->Auth->password('***');

    $this->Auth->login($data);
  }
}

注意:--我现在已经确认,这种方法在中也不起作用。我完全糊涂了。

EN

回答 3

Stack Overflow用户

发布于 2009-06-09 23:45:14

您可能需要检查您的cookie,并确保它们按照您的预期被传递。Fiddler在了解这些AJAX问题时看到http流量是很有帮助的。

www.domain.com和domain.com要去同一个地方吗?如果是这样的话,这可能与CakePHP / IE问题有关。

删除任何域级别的cookie,并查看它是否有效。

在IE中,任何域cookie都会比子域cookie更精确。因此,如果您有一个cookie转到domain.com,然后再转到www.domain.com,您可以重置会话登录,一整天都注销,但是IE将忽略www.domain.com cookie并继续使用原始的domain.com cookie。我为一个旧版本的Cake编写了一个补丁,它允许您设置/强制将cookie作用域设置为domain.com,即使当他们以www.domain.com的身份访问站点时也是如此。

票数 0
EN

Stack Overflow用户

发布于 2009-07-09 07:26:38

现在不要讨论IE8,但是Safari确实阻止了跨域ajax,甚至在同一顶级域中的“兄弟姐妹”之间也是如此。例如,您不能让app.example.com使用来自helppages.example.com的ajax加载div。忘了cookie吧,我说的只是使用ajax加载的普通html。

票数 0
EN

Stack Overflow用户

发布于 2013-07-16 09:30:52

  • ,我认为问题在于你的领域。例:如果您的域名是: abc_def.com,.
  • ,请检查您的域并像abcdef.com =>那样更改它,则IE或某些浏览器不能工作--
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/967774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档