最近、asp.net フォーム認証を使用してセットアップした Web サイトがあります。Active Directory を介して認証しています。Web サイトには、次のように、ルート web.config ファイルのロケーション タグを使用して公開した 2 つのフォルダーがあります。
<location path="FolderA">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="FolderB">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
FolderA には、jQuery の ajax 関数を使用して、FolderA 内に存在するコントローラーから json データを取得する PHP アプリケーションが含まれています。
FolderB には、ClickOnce アプリケーション (Outlook アドイン) が含まれています。
ログインを求められることなく、現在のすべてのブラウザーでこれらのフォルダーの両方に移動できます。サイトの他の非公開エリアに移動すると、ログインを求められます。それはまさに私が望む方法です。
しかし、JSONデータを取得しようとするFolderAのビューにヒットしたときに失敗したIE9のユーザーが何人かいます。もちろん、ユーザーにログインを求めるプロンプトは表示されませんが、データがロードされることはなく、開発コンソールにアクセスが拒否されたことを示すエラー メッセージが表示されます。奇妙なことに、私のマシンの IE9 でこの動作を再現することはできません。
さらに、ClickOnce アプリケーションをインストールしようとすると、ダウンロードして正常にインストールされますが、Outlook がアドインを読み込もうとすると、アプリケーションでの認証に失敗したというメッセージが表示されます。以前は正常に機能していました。唯一の変更点は、フォーム認証をサイトに追加したことです。匿名認証を使用して、フォルダーを IIS のアプリケーションとして指定しようとしましたが、うまくいきませんでした。
IIS7 を実行しており、サイトは .Net Framework 2.0 を使用しています。
私はこの振る舞いを理解するのに苦労しています.誰かがそれに対処する方法について私にガイダンスを与えることを望んでいました. 私はほとんど途方に暮れており、ユーザーは落ち着きを失っています。