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