在保护模式关闭的桌面客户端上运行Outlook加载项

时间:2016-12-22 11:37:12

标签: outlook azure-active-directory

我们正在开发一个Outlook加载项,该加载项从Active Directory请求令牌代表流。一旦用户登录AD一次,并且具有来自AD的登录cookie,我们就想通过带有prompt = none参数的iframe从AD请求任何进一步的令牌。

为了解决受保护模式的问题,我们已将加载项的网址添加到“受信任的网站”,以及https://outlook.office.comhttps://login.microsoftonline.com。当从Internet Explorer运行加载项时,整个页面以关闭保护模式运行,因为outlook.office.com位于可信站点中,因此我们的iframe可以在登录时访问AD设置的登录cookie。

我们的问题是从Outlook桌面客户端运行加载项。当iframe加载login.microsoftonline.com时,不会发送登录cookie。我怀疑这是因为桌面客户端可能正在保护模式下运行加载项。如果我以管理员身份运行Outlook,则会发送cookie,并且加载项的行为与在浏览器中的行为类似。

有没有办法让Outlook在保护模式下运行加载项,而不是以管理员身份运行客户端?

1 个答案:

答案 0 :(得分:1)

此问题与完整性机制有关。有关完整性机制和保护模式的详细信息,请参阅以下链接。

https://msdn.microsoft.com/en-us/library/bb250462(v=vs.85).aspx#upm_ovwim

如果站点位于受信任站点中,则它们在保护模式之外运行,并且cookie存储在中型完整性Cookie存储中。

Outlook加载项由加载项运行时环境保护,其中托管Internet Explorer控件。启用UAC后,加载项运行时将以低完整性级别运行。 Internet Explorer控件也以低完整性级别运行,并且无法从中型完整性Cookie存储中检索Cookie。

因此,当iframe加载网站时,不会发送登录cookie。

要解决此问题,请遵循以下三种方法。

  • 从IE中的“受信任的站点”中删除站点,然后运行该加载项 来自Outlook。这可以将cookie存储在低完整性Cookie中 存储。
  • 关闭UAC ,这使得所有程序都以高完整性运行 水平。但是,这对IE来说并不安全。
  • 通过创建将IE代理进程提升到中等完整性级别 提升政策。有关How-tos的信息,请参阅以下链接。

    https://msdn.microsoft.com/en-us/library/bb250462(v=vs.85).aspx#upm_cfgpm

注意:UAC的停用只能用于测试目的,如果您在生产性计算机上(永久)停用它,您将创建一个主要的安全漏洞,请不要这样做

相关问题