Windows認証を使用しているASP.Netアプリケーションがあり、自分のADとローカル開発ボックスにある役割がすべて指定されているようです。私のテストWebサーバーに展開すると、ASP LoginNameコントロールを介して表示されるユーザー名は、自分のローカルPC上に現在ログインしているドメイン上の私の実際のアカウントではなく、サーバーに対してローカルなIDを示しています。何がありますか?ASP.Net Windows認証 - サーバーにログオンしたユーザーID
更新日: 開発IISサーバー(IISがインストールされているにもかかわらず)でWindows XP SP3を使用しています。新しいテストサイト(VWD2010 Expressからの空のWebテンプレート)を作成しました。私がやっただけの構成は、これまでDefault.aspxページ上にあった、私が追加:
<asp:LoginName ID="LoginName1" runat="server" FormatString="Welcome {0}!" /><br />
<asp:Label ID="RoleLabel" runat="server"></asp:Label>
そして、背後にあるコードでは、私が追加:今すぐ
if (User.IsInRole("IPSCODOM\\SAFETY OBSERVATION"))
{
this.RoleLabel.Text = "You are in the SAFETY OBSERVATION role";
}
else {
this.RoleLabel.Text = "You are NOT in the proper role!";
}
、私はデバッグを開始、画面を
これは私が期待していた出力です。しかし、テストサーバー(IIS 6.1のServer 2003 R2)にサイトを再インストールすると(Webサイトには他の構成はありません)、結果は大きく異なります。返されたユーザーは、そのサーバーにログインするために使用するユーザーです(ただし、ドメインアカウントです)。アプリケーションプールは、ネットワークサービスアカウント(システム、ローカルサービス、およびネットワークサービスの3つすべてを試してみました)を使用してログインするように設定されており、World Wide Web発行サービスはローカルシステムアカウントを使用してログインしています。私はサイトの匿名アクセスを無効にしました。また、サイトを参照すると、ログインしているユーザーアカウントとは異なるユーザーアカウントが表示されます。
私は間違っていますか?
これがブラウザに表示されている場合、おそらくブラウザの自動補完オプションはあなたがそのサーバ上の別のWebアプリケーションを参照していると思っていますか? –
naah、私のローカルのマシンでIIS 7.5 Expressを使用しようとしているところで、私のコメントをチェックしてください。ユーザーオブジェクトにはプロファイルがありません。私がここで間違っていることを確信していない...これは簡単だろうと思った。 – Keith
さて、私は現在の設定に詳細を追加しました。上記のアップデートを確認してください... – Keith