AD /ドメインコントローラを使用してクライアントネットワークにアプリケーションを展開しようとしています。Windows認証でユーザー名とパスワードの入力を求めるメッセージが表示される
私のアプリケーションは、Windows認証を使用する単純なasp.net C#アプリケーションです。
私はwin2003を使用しています。
基本的にVS2008を使用して、IIS6.0でホストされている新しいWebサイトを作成します。 変更は2つだけです。 1.アプリケーションのIISディレクトリセキュリティで、「統合セキュリティ」を有効にしました。
注:anonymousも有効です。
スケルトンコードの変更が1つだけ生成されました。 のdefault.aspxのPage_Loadメソッドに以下の追加ページへの閲覧の
using System.Security.Principal;
...
protected void Page_Load(object sender, EventArgs e)
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
Response.Write("<B>Windows Identity Check</B><br>");
Response.Write("Name: " + id.Name + "<br>");
Response.Write("<BR>");
Response.Write("User.Identity: " + User.Identity.Name);
Response.Write("<BR>");
}
出力: WindowsのアイデンティティCheck-名: NT AUTHORITY \ NETWORK SERVICE User.Identity:
User.Identity.Nameは現在のユーザー名を出力しません。私は追加この記事http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx
で説明したように
:
私はこれが追加されたとき、私はUser.Identity.Nameから、ユーザ名を現在のユーザを得ることができる、ということであるuserstand何から<authorization>
<deny users="?"/>
</authorization>
。
しかし、上記を追加すると、ブラウザでユーザー名とパスワードの入力を求められます。入力すると、User.Identity.Nameを使用してユーザー名を取得できます。しかし私は、ユーザー名/パスワードのポップアップを表示したくありません。アプリケーションでネットワーク資格情報に基づいてユーザーを認証する必要があります。
何か不足していますか?
あなたはどのようなブラウザをテストしたのですか? IEのみがWindowsユーザー名/パスワード認証をパスします。 –
これは必ずしも真実ではありません - FireFoxはWindows統合認証をサポートしています。 –
ええ、Firefoxはこれに問題はありません。IEのようにローカルホスト名を信頼できる/イントラネットゾーンとして扱いませんが、必ず設定することができます。 FF用の既存のADMテンプレートでさえ、怠け者のシステム管理者が使用すると思います。 –