是否有可能以某种方式设置cookie到客户端的浏览器时,cookie是与不同的服务器(在这种情况下,Exchange邮件服务器)使用?在这种情况下,尝试设置cookie的服务器位于“intranet.myschool.edu”,交换服务器位于“owa_server.myschool.edu”。
下面是完整的问题:
我有一个使用卷曲,使一个HTTP POST到具有表单启用基于身份验证我们的Exchange服务器的PHP脚本。
当我成功的HTTP POST(其中包括发布的URL中的用户/密码)时,Exchange Server(或更具体地说,https://my.school.edu/exchweb/bin/auth/owaauth.dll文件)输出cookie。 具体来说,它输出“sessionid”和“cadata”ID。
通过将这些cookie ids写入服务器上的文本文件,cURL/PHP可以引用它,然后从Exchange/OWA服务器请求数据(通过webdav等)。
该部分工作。 我想解决的问题是现在将Cookie ID传递给客户端浏览器,以便他们可以使用这些cookie ID自动登录到他们自己的OWA帐户。
实质上,我希望我们的用户使用他们的Active Directory ID登录到我们的Intranet,并查看他们最近的电子邮件的快照。然后,如果他们需要,我会给他们一个小链接来切换到完整的OWA Web应用程序。发生此切换时,我不希望他们必须手动登录到OWA。由于他们已经在Intranet的前端提交了Active Directory用户名和密码,我希望他们能够自动登录到OWA中。
我应该注意,使用Windows身份验证尝试单点登录是不可能的,因为我们有Mac OS,Windows和Linux的组合。
我曾想过我可以做一个“setcookie”,并分配cURL得到的cookie id并将它们放到客户端浏览器中。
这不可能吗?是否无法通过这种方式“欺骗”Exchange/OWA(或任何其他网站)? 我有cURL捕获的合法cookie ID。有没有办法将这些传递给另一台计算机上的客户端浏览器?
在最糟糕的情况下,使用Javascript将用户名和密码自动粘贴到OWA登录页面是我唯一的希望吗? 有没有人有任何其他想法如何避免我的Exchange/OWA的双重登录问题?
感谢您提供的任何帮助!
2009-01-29
Chain