違いは何ですか 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アプリケーションであり、組織内で適度に使用されます。答えてくれてありがとう。
System.Environment.UserName
は、Webアプリをホストするアプリプールが実行されているIDを返します。 Windows認証と偽装を使用している場合、それは実際のユーザーの名前になりますが、すべての場合において、HTTPコンテキストによって提供される情報を使用する方が適切です。いずれの場合もパフォーマンスに影響はありません。
System.Web.HttpContext.Current.User.Identity.Name
現在のHTTP要求のセキュリティ情報を取得または設定します。 (ウェブサイトにログインしているユーザーの名前)
System.Environment.UserName
現在Windowsオペレーティングシステムにログオンしている人のユーザー名を取得します。