【发布时间】:2012-07-25 14:38:21
【问题描述】:
我需要在我的 Web 应用程序中针对 IMAP 邮件服务器使用 NTLM 身份验证。 Web 应用程序本身的身份验证也是 NTLM。因此,用户打开 Web 应用程序界面,Web 服务器端在通过 NTLM 进行身份验证的邮件服务器上抓取该用户的收件箱。如果我从不存储(我也无权访问)用户的密码,这可能吗?
有没有办法通过我的网络应用程序链接客户端的浏览器和 IMAP 服务器,以便它们之间发生令牌交换,而我只是充当它们之间的网关。或者,有没有其他方法可以在不知道密码的情况下完成这项任务?
网络应用程序可以是 asp.net/iis 或 php/apache。任何一个选项都对我有用。
【问题讨论】:
-
可以,但不能使用 NTLM - 您必须使用 Kerberos,它允许中继凭据(并替换 NTLM),但仅在更新版本的 Active Directory 上受支持。 Web 应用程序必须是 IIS(我不知道支持 kerberos 代理凭据的 apache/php 模块)。另一种方法是在 .Net/IIS (google it) 中使用 Impersonation 来允许您的服务伪装成用户 - 但它会要求他们输入密码。当然,这一切都只适用于公司网络内
标签: php asp.net authentication imap ntlm