【问题标题】:Authenticate windows Identity with Outlook credentials使用 Outlook 凭据验证 windows 身份
【发布时间】:2016-11-22 23:01:41
【问题描述】:

我有一个启用了 Windows 身份验证的 Web 应用程序。成功身份验证后,它将显示我的自定义登录页面以验证我的 Outlook 凭据并从 Outlook 中获取日历项目(数据来自 WCF 服务)以显示在用户界面。我的问题是,网络域中每个用户的 Windows 和 Outlook 凭据都是相同的。除了两次身份验证之外,有没有类似单点登录的方法 - 使用 Outlook 凭据验证 Windows 身份,反之亦然?

【问题讨论】:

  • 请在下面查看我的答案。我还更新了一个教程链接。
  • @CodingYoshi 感谢您的帮助,我会尝试同样的,让您。

标签: c# .net authentication single-sign-on windows-authentication


【解决方案1】:

您的 Web 应用程序将在 IIS 内的应用程序池中运行。应用程序池将在一个帐户下运行(主要是服务帐户)。因此,无论该帐户是什么,对 Web 服务的所有请求都将发送。

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

这不是一项简单的任务,如果您这样做,您需要与系统管理员交谈以设置一个可以模拟其他用户的帐户。您还需要在 IIS 上启用模拟。

根据您的设置,服务和网站是位于同一台计算机上还是位于不同计算机上,您可能需要使用模拟(一台计算机)或委派(用于超过 1 台计算机)。你可以阅读更多关于模拟和委托的here

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

更新

如果您使用 Office 365 并拥有 Azure AD,则可以按照 this 教程进行操作。但是就像我说的,这并不简单,如果您使用本教程的方法,则需要工作事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    相关资源
    最近更新 更多