2011-07-18 13 views
0

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発行サービスはローカルシステムアカウントを使用してログインしています。私はサイトの匿名アクセスを無効にしました。また、サイトを参照すると、ログインしているユーザーアカウントとは異なるユーザーアカウントが表示されます。

私は間違っていますか?

+0

これがブラウザに表示されている場合、おそらくブラウザの自動補完オプションはあなたがそのサーバ上の別のWebアプリケーションを参照していると思っていますか? –

+0

naah、私のローカルのマシンでIIS 7.5 Expressを使用しようとしているところで、私のコメントをチェックしてください。ユーザーオブジェクトにはプロファイルがありません。私がここで間違っていることを確信していない...これは簡単だろうと思った。 – Keith

+0

さて、私は現在の設定に詳細を追加しました。上記のアップデートを確認してください... – Keith

答えて

0

実際の問題は、テストサーバーにファイルを展開する必要があり、ドライブのルートにアクセスできない場合でした。 rootにブラウズすると、ログインダイアログが現れ、Webページにログインしているユーザーとしてログインしました。私はこれをやっていることを忘れていましたが、今は馬鹿のように感じます。私の無知を許してください。しかし、誰かが脳のおならを持っている場合に備えて、この質問を念頭に置いてください。

途中でログインを元に戻すには、コントロールパネル>>ユーザーアカウント>>詳細>>パスワードの管理に行き、ブラウズしていたサーバーの資格情報を削除しました。その後、私のユーザーアカウントを適切に取得しました。

+0

ドライブのルート、%WINDIR%の下のもの(ほとんどのマシンではC:\ Windows)と他のいくつかのディレクトリがIISにverbottenされています(セキュリティをハッキングしない限り、これは良い考えではありません)。 –

0

「サーバーにローカル」とは何ですか?設定について多くのことを知らなければ、Windowsの認証を使用するように設定されたサーバー上のIISインスタンスをデフォルトでは使用していないことをまず確認します。修正が失敗した場合は、特定のアカウントを使用するためにIISでサービスをホットワイヤしていないことを確認してください。

+0

私はWindows XPボックスにIIS 7.5 Expressをセットアップし、それを使用して実行するようにアプリケーションを設定しました。私はweb.configに次のコードを書いていますが、それは許可されていないと言います。私はページの読み込み時にUserオブジェクトをチェックし、ユーザオブジェクトは空白のプロパティを持っていますが、オブジェクトはnullではありません。 Keith

関連する問題