2

aspx ページで Windows ユーザー名を取得しようとしています。

私は次のことを試しました:

<% System.Threading.Thread.CurrentPrincipal = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()) %>
<%= System.Threading.Thread.CurrentPrincipal.Identity.Name %>

しかし、それはIIS APPPOOL/SBalanceを私に与えるだけです - これは Windows ユーザー名ではありません!

ただし、次のサーバー コントロールを追加すると:

<asp:LoginName ID="LoginName1" runat="server" />

これにより、ドメインとユーザー名が正常に事前入力されます。

では、ログイン コントロールを使用せずに、aspx ページでドメイン/ユーザー名を文字列として取得するにはどうすればよいでしょうか。

ありがとう

4

2 に答える 2

3

Windows 認証を使用している場合は、次の方法でユーザー名を取得できます。User.Identity.Name

string windowsLogin = Page.User.Identity.Name;
于 2012-11-07T16:02:56.643 に答える
0

web.configで偽装を有効にする必要があります

<identity impersonate="true" />

次に、IIS で Windows の偽装を有効にし、匿名認証を無効にする必要があります。

于 2012-11-07T16:04:07.623 に答える