IIS で Windows 認証を有効にせずに、ユーザーの Windows 資格情報 (つまり、ユーザー名) を取得することは可能ですか? Windows 認証が無効になっている場合、以下のコードは、偽装と匿名認証が有効かどうかに応じて、NT AUTHORITY または IIS APPPOOL\ASP.NET v4.0 を返します。
System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
フォーム認証を使用している asp.net Web アプリケーションをカスタム認証に変換しています。基本的に、ユーザーがネットワークの外部から接続している場合は資格情報のチェックを強制しますが、ネットワーク内から接続している場合は、Windows ユーザー名を取得できるようにしたいと考えています。内部部分は、Windows 認証を有効にすると機能しますが、ネットワークの外部でテストするとポップアップ ログイン ボックスが表示されます。非ローカル接続の Windows 認証を無効にするか、Windows 認証を無効にして Windows ユーザー名を取得する方法を見つける必要があります。助言がありますか?(私が考えたもう 1 つの方法は、アプリケーションを 2 つに分割し、それぞれに別々の認証モードを設定することでしたが、これは避けたいと思います)。
-私も試しました:
System.Web.HttpContext.Current.User.Identity.ToString();
System.Threading.Thread.CurrentPrincipal.ToString();