ローカルイントラネットで統合Windows認証を使用するIIS6/Server2003でWebサイトを実行しています。サイトを参照することはできますが、すべてのリクエストで呼び出される次のC#コードを呼び出すと、断続的な「オブジェクトヌル」エラーが発生します。
....
GetUserIdFromPrincipal(User)
....
public static string GetUserIdFromPrincipal(IPrincipal principal) {
return principal.Identity is WindowsIdentity ? (principal.Identity as WindowsIdentity).User.Value : principal.Identity.Name;
}
したがって、エラーは断続的に発生するため、Windows Authはある程度のレベルで機能していますが、サイト内を数回クリックすると、IPrincipalがnullであることを意味するnull参照エラーが発生します(ASP.NETではこれがnullになることはないと思いました)。
このエラーは、新しく構築されたVMでのみ発生します。コードは他のマシンでも問題なく、ローカルで開発する場合は確かに問題ありません。
IISは、要求ごとにWindows認証の詳細を要求しますか?このような断続的な問題の原因は何でしょうか。どんな助けや提案も大歓迎です。