web-dev-qa-db-ja.com

ASP.NETのSystem.Web.HttpContext.Current.User.Identity.Name Vs System.Environment.UserName

違いは何ですか System.Web.HttpContext.Current.User.Identity.NameおよびSystem.Environment.UserName ASP.Net Webアプリケーションプロジェクトのコンテキストで?

ここに私がやろうとしていることのコードがあります:

Database myDB = DatabaseFactory.CreateDatabase();
bool IsAuthUser = myDB.ExecuteScalar("procIsAuthorizedUser", System.Environment.UserName);

機能的に同一である場合、パフォーマンスの点でどちらが優れていますか?

これはC#4.0/ASP.Net Webアプリケーションであり、組織内で適度に使用されます。答えてくれてありがとう。

19
FMFF

System.Environment.UserNameは、Webアプリをホストするアプリプールが実行されているIDを返します。 Windows認証と偽装を使用している場合、それは実際のユーザーの名前になりますが、すべての場合において、HTTPコンテキストによって提供される情報を使用する方が適切です。いずれの場合もパフォーマンスに影響はありません。

13
kprobst

説明

System.Web.HttpContext.Current.User.Identity.Name

現在のHTTP要求のセキュリティ情報を取得または設定します。 (ウェブサイトにログインしているユーザーの名前)

System.Environment.UserName

現在Windowsオペレーティングシステムにログオンしている人のユーザー名を取得します。

詳しくは

34
dknaack