4

我们有一个 ASP.NET Intranet 站点,可供实际使用并登录到本地计算机的用户或通过 VPN 远程连接的用户使用。有没有办法根据用于登录本地计算机或用于 VPN 的名称自动获取访问该页面的用户的用户名?

4

5 回答 5

13

如果您在页面中使用 Windows 身份验证,这是可能的。

您可以使用其中一个Page.User.Identity.Name或更完整的System.Web.HttpContext.Current.User.Identity.Name.

在此处阅读更多信息:

在 Intranet ASP.NET Web 应用程序中启用 Windows 身份验证

但是,如果您使用表单身份验证,则必须自己跟踪当前用户,最常用的方法是将他们的登录名存储在 Session 变量中。

于 2009-04-17T16:11:46.240 回答
3

如果身份验证设置为进行集成 Windows 身份验证,那么您应该能够通过访问

User.Identity.Name

于 2009-04-17T16:05:52.713 回答
3

获取User信息如下:

User.Identity.Name \\ Get the User name
User.Identity.AuthenticationType \\ What is the Authentication type
User.Identity.IsAuthenticated \\ Is he authenticated?
User.IsInRole("Administrators") \\ Is he administrator?
于 2012-12-11T03:03:34.317 回答
1

如果身份验证是 Windows,这应该会有所帮助:

IIdentity WinId= HttpContext.Current.User.Identity;
WindowsIdentity wi = (WindowsIdentity)WinId;
于 2009-04-17T16:07:38.560 回答
1

您可以使用

Page.User.Identity.Name
于 2009-04-17T16:08:04.317 回答