使用Outlook凭据验证Windows身份

问题描述:

我有一个启用了Windows身份验证的Web应用程序。验证成功后,它将显示我的自定义登录页面以验证我的Outlook凭据并从日历项目获取日历项目(数据从WCF服务中提取)在UI中展示的前景。我的问题是,网络域中每个用户的Windows和Outlook凭证都是相同的。而不是两次验证,是否有任何方式像单点登录 - 用outlook凭据验证Windows身份,反之亦然?使用Outlook凭据验证Windows身份

+0

请在下面看到我的答案。我还通过指向教程的链接对其进行了更新。 – CodingYoshi

+0

@CodingYoshi赞赏你的帮助,我会尝试相同的,让你。 – JEMI

您的Web应用程序将在IIS内的应用程序池内运行。应用程序池将在一个帐户下运行(通常这是服务帐户)。因此,所有对Web服务的请求都将随任何帐户一起发送。

如果要发送用户的Windows帐户,则需要使用委派或模拟,以便网站可以将用户凭据传递给Web服务。然后在web服务上,您需要模拟用户访问他们的日历。

这不是一个简单的任务,如果你这样做,你需要与系统管理员男孩谈话,以建立一个可以冒充其他用户的帐户。您还需要在IIS上启用模拟。

根据您的设置,服务和网站是否位于同一台计算机或不同的计算机上,你可能需要使用模拟(一体电脑)或代表团(超过一台电脑)。你可以阅读更多here模仿和委派。

您可能已经开始开发,并且您正在访问自己的Outlook日历,并且正在工作。但请记住,您可能正在自己的机器上运行所有内容。只要您部署它并且多个用户正在访问网站和Web服务,整个游戏就会发生变化。

更新

如果您正在使用Office 365和Azure的有AD,那么你就可以按照this教程这样做。但正如我所说的,如果使用本教程的方法,这并不简单,并且需要工作事件。