1

ASP.NET MVC 2 アプリケーションではHttpContext.User.Identity.Name、認証目的でユーザー名を取得するために使用しています。これは、テスト時にうまく機能します。データベースにいるユーザーは、許可されている領域にアクセスでき、それ以外の場合は 401 ページにリダイレクトされます。401 ページにはユーザー名が表示され、このユーザーがこのコンテンツへのアクセスを許可されていないことが説明されます。

ただし、展開された環境では、アプリケーションの任意の部分にアクセスしようとすると、すべて 401 ページにリダイレクトされ、表示されるユーザー名は空白になります!

デプロイされたアプリケーションがリクエストのユーザー名にアクセスできるようにするにはどうすればよいでしょうか?

私の調査によると、次の画面に移動して Windows 認証を有効にする必要がありますが、リストにありません。

ここに画像の説明を入力

4

2 に答える 2

2

このような問題があり、最終的に行ったことは、IIS で匿名アクセスをオフにすることでした。下部にある統合ボックスをチェックすることを忘れないでください.これが役立つことを願っています

于 2012-04-06T15:26:25.593 に答える
1

IIS 7 を使用している場合は、最初に IIS 7 をインストールする必要があります。ここに良い概要があります。FTA:

IIS 7 の既定のインストールには、Windows 認証の役割サービスは含まれていません。IIS で Windows 認証を使用するには、役割サービスをインストールし、Web サイトまたはアプリケーションの匿名認証を無効にしてから、サイトまたはアプリケーションの Windows 認証を有効にする必要があります。

オプションとして表示されない場合は、おそらくインストールされていません。

(私の Winodws 7 マシンからの指示) [スタート] メニューに移動し、次のように入力します: Turn Windows features on or off

次に、ダイアログのツリービューで、[インターネット インフォメーション サービス] - [World Wide Web サービス] - [セキュリティ] に移動し、 [ Windows 認証]チェックボックスをオンにします。

于 2012-04-06T17:29:27.173 に答える