2016-12-22 3 views
1

私たちは、代わりにフローのためにActive Directoryからトークンを要求するOutlookアドインを開発しています。ユーザーがADに一度ログインして、ADからのログインCookieを取得したら、prompt = noneパラメータを指定してiframe経由でADからのトークンを追加したいとします。保護モードをオフにしてデスクトップクライアントでOutlookアドインを実行する

保護モードを回避するため、アドインを信頼するサイトをホストするURLと、https://outlook.office.comhttps://login.microsoftonline.comを追加しました。アドインがInternet Explorerから実行されると、outlook.office.comが信頼済みサイトにあるため、ページ全体がプロテクトモードでオフになるため、iframeはログイン時にADによって設定されたログインCookieにアクセスできます。

私たちの問題は、Outlookデスクトップクライアントからアドインを実行していることです。 iframeがlogin.microsoftonline.comを読み込むと、ログインクッキーは送信されません。デスクトップクライアントが保護モードでアドインを実行している可能性があるためです。 Outlookを管理者として実行すると、Cookieが送信され、アドインはブラウザと同様に動作します。

保護モードをオフにしてアドインを実行する方法はありますか?クライアントを管理者として実行するには不足していますか?

答えて

1

この問題は、整合性メカニズムに関連しています。整合性メカニズムと保護モードの詳細については、下のリンクを参照してください。

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

サイトが信頼済みサイトにある場合、彼らは外の保護モードの実行、およびクッキーは、ミディアム・インテグリティクッキーストアに格納されています。

Outlookアドインは、Internet Explorerコントロールがホストされているアドイン実行時環境で保護されています。 UACが有効な場合、アドインランタイムは低レベルの整合性レベルで実行されています。 Internet Explorerコントロールも低い整合性レベルで実行され、中程度のCookieストアからCookieを取得することはできません。

したがって、iframeでサイトが読み込まれると、ログインCookieは送信されません。

この問題を解決するには、以下の3つの方法があります。

  • Internet Explorerの信頼済みサイトからサイトを削除してから、アドイン をOutlookから実行します。これにより、CookieをLow Integrity Cookie ストアに保存できます。
  • UAC をオフにすると、すべてのプログラムが高レベルで実行されます( レベル)。ただし、これはIEでは安全ではありません。
  • 昇格ポリシー を作成して、IEブローカプロセスを中程度の完全性レベルに引き上げます。 How-tosのリンクを参照してください。

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

注:あなたは、主要なセキュリティホールが作成され、生産のコンピュータに(恒久的に)それを無効にする場合はUACの無効化は唯一、テスト目的のために行われるべきである、ということをしないでください

関連する問題