2011-07-28 5 views
1

イントラネットサイトでユーザーを識別する必要があり、Windowsユーザー名が目標です。それは最後にSQL Serverに行くparamsに追加されます。ASP.NETユーザーからのデータを取得する

私は

HttpContext.Current.Request.ServerVariables("LOCAL_ADDR") 192.168.112.81我々はその33%に固定されており、残りは割り当てられ、ここでアドレスの混合袋を持ってもらうことができます。

AD内のIPに割り当てられているユーザを識別する手段はありますか?もしそうならリンクや例がありますか?

TIA。

Page.User.Identity.Name 

または

HttpContext.Current.User.Identity.Name 

またはサービスコール

ServiceSecurityContext.Current.WindowsIdentity.Name 

にそれはドメインによって前置されます。

+0

「AD内のIPに割り当てられたユーザーを特定する」とはどういう意味ですか? – hatchet

+0

現在の接続のIPは** ADで利用できません** ADはかなり静的な情報リポジトリです**ログインしているユーザーやそのIPのような動的なものを扱う "運用管理"システムではありません**そしてそのようなもの。 –

答えて

2

は、ページ内では、ユーザ名はで見つけることができます。

+0

申し訳ありませんが、私は空の文字列をページの中に入れます: – SteveO

+0

あなたのサイトのようなものは、匿名アクセスを許可するようにIISで設定されています。 asp.netのWindows認証設定を探します。そこにはたくさんの情報があります。 – Erix

+0

@blowdartの回答を参照してください - あなたのWebアプリケーションで認証を設定しましたか? – hatchet

0

IPはユーザに割り当てられていないため、マシンに割り当てられています。複数のユーザーがマシンを使用できるため、あなたのアプローチは理にかなっていません。

代わりにWindows Authenticationをサイトに設定してから、MVCコントローラ内のプロパティまたはWebフォームページのUserプロパティを使用できます。これらのプロパティは両方ともIPrincipalを返します。Identityプロパティは、IIdentityインスタンスです。 IDのnameプロパティは、ユーザーのアカウント名を提供します。

+0

ありがとうございます。私は今それを見ている。 – SteveO

関連する問題