私は私のASP.NET MVCアプリケーションでWindows認証を使用していASP.NETでWindows認証を使用して、正しい資格情報を返していないと私は、ドメインのメンバーである私のウェブサーバ上の資格情報を入力するよう求めています[私はドメインの資格情報を持っており、正常に認証できます]しかし、現在ログインしているユーザーに対してデータベースの値をチェックしようとすると、コントローラのアクションが "User.Identity.Name"を呼び出すと、SAMアカウントがローカルマシンから返されます。User.Identity.NameはMVC
ローカルマシンのユーザー名(これは、リターンをUser.Identity.Name):SAMは、ドメインからアカウントLOCALPC \ユーザー名
私は私がauthenti午前何である(期待しています)としてADに対するcating:DOMAIN \ usernameの
私は正確にユーザー名のみを使用してユーザーを確認することができないので、これは私の問題を引き起こします。
は、私が何かをしないのです、私は現在のローカルSAMアカウントは、クライアントマシン上にあるものとは対照的に、ウェブサーバにあると認証しています何を返す方法はありますか?いないすべてのイントラネットアプリケーションクライアントは、ドメインが(ドメイン参加していないですが、ADのアカウントを持つユーザーに属しているマシン)結合されますので、これは重要です
理由があります。
アプリケーションUser.Identityをデバッグしている間は、私が認証していますことを示している(私が想定していますそれはどこかにキャッシュされたWindowsトークンを持っています)、そのユーザーのSAMアカウントを取得するために認証されたユーザーを偽装することは可能ですか? –
ところで、私はこれを達成するためになりすましを使うことができますが、私がした場合、最適ではない(または今の私にとってはオプションでもある)*自分のアカウントを偽装するためにユーザーの資格情報にアクセスする方法が必要です* *ドメイン外にある場合は既に資格情報を入力しているためです。ドメイン合流マシンからサイトにアクセスしている場合は、これは問題ではなく、ドメインにないマシンからの問題に過ぎません。 –
私は自分のアカウントを偽装するように頼んだら自分の資格情報をキャッシュしたくないのですが、私の質問に対する答えは基本的には最初に認証するために使うトークンにアクセスし、それはSAMアカウント(アカウント名)を取得するトークンです。 –