2009-06-29 14 views
2

更新IIS/DirectoryEntryを/ ASP.NET - ログオンの失敗

それはクレイジーですので、トップでこれを置く:)

だから、一部のユーザーは、いくつかはしないでください、それが動作しています。私は自分のアカウントをIE7経由で使用しても機能しません(私のコードは例外を捕らえ、単純にADフルネームの代わりにアイデンティティ名を使うことに戻ります)。私はChrome経由で試してみると、私が提供するユーザー名とパスワードを要求し、フルネームが表示されます。したがって、ユーザーアカウント、サーバーコード、および設定は同じですが、認証を送信するために別のブラウザを使用することで機能します。

IE7からのすべてのCookieをクリアして再起動しましたが、IEの動作に変更はありませんでした。 IE7のユーザーの多くはうまく動作している。リモートで別のマシンにログインし

更新#2

は、IE7のページに行き、そしてそれは私の完全な名前を示しています。全く分からない。私は多分セッションが何かをキャッシングしていると思っていたが、私はそのアプリを再公開したのでセッションをクリアするはずだ。私はおそらくクッキーが古い/悪いトークンを持っていたかもしれないと考えていましたが、私はそれらをクリアしてもう一度試しました。何かどこかに長期間のキャッシュが必要です。うまくいけば、それはそれ自体で動作します。

エンドアップデート

こんにちは、

私は、IIS 6.0上で実行されているASP.NET(MVC)アプリケーションで私たちのADからユーザーのフルネームを取得しています。

最終行で「ログオンエラー:不明なユーザー名またはパスワードが間違っています。」という例外がスローされます。

HttpContext.User.Identityを見ると、有効なドメインユーザーであり、WindowsIdentity.GetCurrentが正しく偽装されています。

この例外は、100%投げられないようでもあり、IISサーバーから参照するとスローされません。私のweb.configファイルがどのように見える

WindowsImpersonationContext impersonationContext = windowsIdentity.Impersonate(); 

それは動作します:私を悩ませている何

<authentication mode="Windows"/> 
<authorization> 
    <deny users="?"/> 
</authorization> 
<identity impersonate="false"/> 

は、私が偽装行を削除する場合ということです。 WindowsIdentity.GetCurrentはドメインユーザーではないが、例外はスローされず、フルネームがADから取得されるNT AUTHORITY \ NETWORK SERVICEです。

これは、アプリケーションの新しいデプロイメント(テストからライブへ)で起きているようだということです。私はIISの設定が不足しているかどうかわかりませんが、コードは変更されていません。

私はそれを動作させるために以前に偽装する必要があったことを知っています。私は偽装する必要があるように思われるので、何が起きているのか、そしてなぜこのエラーが発生しているのかを完全に知らさずに偽装呼び出しを削除することを躊躇します。今起こっている。

ありがとうございました。

答えて

1

私は、あなたのASP.NETアプリケーションをホストしているサーバーが委任のために信頼されていないことが問題であると思われます。 Googleが「委任のために信頼されている」ためには、this MSDN articleが良い出発点です。

+0

もう少しテストしたところ、どこに問題があるのか​​分からないうちに、私は100%サーバーになるとは思わない。私はアップデートを追加しましたが、基本的に同じアカウント、同じサーバー、同じクライアントマシン、異なるブラウザ(1つのブラウザが失敗し、1つが動作する)で動作します。私は一種の困惑しています。私はその提案を試して、委任のためにサーバーを信頼するように設定しましたが、状況は固定されていないようでした(つまり、伝播の時間は私が待っていた時間よりも長くなるかもしれません)。 – anonymous

関連する問題