私のWebアプリはWindows認証を使用しています。他のすべての認証方法は無効になっています。
最初は機能します。User.Identity.Nameは「MYDOMAIN\myuser」を返します。ただし、131秒待って(はい、正確に時間がかかるかどうかはわかりませんが、時間を計りました)、ページをリロードすると、User.Identity.IsAuthenticated=falseおよびUser.Identity.Name=""になります。この時点で、ページをリロードするだけで、さらに131秒間非アクティブになり、再び機能します。
web.configの関連部分:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
<identity impersonate="false" />
...
<security>
<authentication>
<windowsAuthentication enabled="true" />
<anonymousAuthentication enabled="false" />
</authentication>
</security>
おそらく関連する詳細情報:
私のソリューションは、2つの異なるIISアプリケーションに展開されています。1つ目は、内部ユーザー向けです。Windows認証を使用するだけです。2つ目は、外部ユーザー向けです。匿名認証(ルートフォルダのみ)を使用し、認証を形成します。内部サイトで問題が発生しているだけです。