サイトを作成しました。社内サイトです。 .NET4.0サイトです。サイトを閲覧している人のHttpContext.Current.User.Identity.Nameを使用してユーザー名を取得したいと思います。内部にあるため、ログインページはありません。何が欠けているのかわかりません。 webconfigに次のものが必要ですか?
<authentication mode="Windows"></authentication>
<identity impersonate="true"/>
<authorization>
<allow users="?"/>
</authorization>
この:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
認証されていない場合は空白になります。これは、次の方法でも確認できます。
HttpContext.Current.User.Identity.IsAuthenticated
IISで認証レベルを確認します。そこでもWindows認証を有効にするように設定されていますか?
Iisでは、匿名アクセスを無効にし、Webアプリケーションの統合Windowsセキュリティを有効にします。
はい、少なくとも必要です
<authentication mode="Windows"></authentication>
統合Windows認証を使用している場合は、一部が必要です。
その後、ログインした人のユーザー名を取得できるようになります。
いいえ、必要ありません:
<validation validateIntegratedModeConfiguration="false" />
IISで、[サイト]\[既定のWebサイト]\[あなたのWebサイト]に移動します。
認証オプションを選択し、匿名認証を無効にします。
私の場合、<remove name="FormsAuthentication" />
からweb.config
行を削除すると役立ちます。
<authentication mode="Forms" />
セクションにも<system.web>
があります。