3

イントラネットで実行されている ASP.NET MVC アプリに取り組んでいます。フォーム認証を使用していますが、セットアップされたユーザー名は Active Directory ユーザー名と同じになります。ログイン ユーザー名フィールドに Windows ユーザー名を事前入力する方法を探していますが、現在の Windows ユーザー ID にアクセスする方法が見つかりません。

System.Environment.UserDomainName「IIS APPPOOL」を返します

System.Security.Principal.WindowsPrincipal.Current.IdentityGenericIdentity を返します

HttpContext.Request.LogonUserIdentity.Name「NT AUTHORITY\IUSR」を返します

Windows ユーザーを認証したり、Windows ユーザーとして Web サイトにログインしたりしたくありません。ユーザー名を読みたいだけです。Windows認証ではなくフォーム認証を使用しているときにこれを行う方法はありますか?

4

2 に答える 2

0

これを試してください:

web.config で

<identity impersonate="true" />
<authentication mode="Forms">
     <forms loginUrl="./WebLogin.aspx" defaultUrl="./default.aspx" timeout="12" path="/" name=".ASPXFORMSAUTH" />
</authentication>

コードで c#

string windowsName = WindowsPrincipal.Current.Identity.Name;
//OR
string windowsName = Thread.CurrentPrincipal.Identity.Name;

これは私にとってはうまくいきます。

于 2013-06-17T08:45:18.377 に答える