我在带有 IIS7 服务器的 Windows Server 2008 上的 IIS 7 下运行 C#.NET 4.0 应用程序。该应用程序将在公司 Intranet 中运行,该应用程序会自动获取查看该页面的人的登录 Windows 用户名,而不会在页面加载时提示输入凭据。现在我面临两个问题:
1) 目前,应用程序返回应用程序所在的生产服务器名称(例如:XYZ\sam)。我想获取当前登录的用户名(例如:ABC\sam)。它在本地主机上运行良好,但在生产服务器上却不行。
我<authentication mode="Windows" />
在 web.config 启用,在 IIS 启用 Windows 身份验证和禁用匿名身份验证。
我尝试了Page.User.Identity.Name
, System.Web.HttpContext.Current.User.Identity.Name
,System.Security.Principal.WindowsIdentity.GetCurrent().Name
和其他方法,但仍然未能获得正确的名称。如何获取当前windows登录用户?
2)当我想访问应用程序时,它不断提示输入用户名和密码的窗口。如果我忽略它,它会提示
401 - 未经授权:由于凭据无效,访问被拒绝。您无权使用您提供的凭据查看此目录或页面。
我要怎么修?