“你有没有做过任何 .net 编程?是的?很好,这是一个巨大的损坏程序,修复它”。这就是我所处的情况,如果这是一个简单的问题,很抱歉。
我正在处理的程序从 Web 服务器中提取文件。预计用户已经登录到 Web 服务器。我需要提取当前登录到服务器的用户的用户名(或者只是确保确实有人登录到服务器)。
我尝试了以下方法,它返回一个空字符串。
user = HttpContext.Current.User.Identity.Name;
请确保您在 Web.Config 文件中设置 Windows 身份验证。在访问用户名之前还要检查以下内容,
HttpContext.Current.User.Identity.IsAuthenticated
如下设置 Web.Config,
<authentication mode="Windows"></authentication>
首先检查Web.config文件中的<authentication>
标记。如果您没有找到它,那么您的应用程序可能没有使用任何标准的身份验证机制。如果是这种情况,请查看login.aspx
执行身份验证的代码或任何代码。在那里,您将获得登录的用户数据。
我不建议您更改 web.config 文件中的任何内容,而无需牢牢掌握应用程序中的内容。
对象的属性User
通常由应用程序的身份验证方案(窗体、Windows 或自定义)填充,因此在开始访问User
.
有关更多信息,请查看MSDN 上的文档。