“你有没有做过任何.net编程?是的?好的,这是一个大规模的破解程序,修复它”。这就是我所处的情况,如果这是一个简单的问题,那就很抱歉。
我正在处理的程序从Web服务器中提取文件。预计用户已登录到Web服务器。我需要提取登录到服务器的当前用户的用户名(或者只是确保某人确实已登录到服务器中)。
我尝试了以下操作,它返回一个空字符串。
user = HttpContext.Current.User.Identity.Name;
答案 0 :(得分:7)
请确保在Web.Config文件中设置Windows身份验证。在访问用户名之前,请检查以下内容,
HttpContext.Current.User.Identity.IsAuthenticated
按如下方式设置Web.Config,
<authentication mode="Windows"></authentication>
答案 1 :(得分:1)
首先检查 Web.config 文件中的<authentication>
标记。
如果您没有找到它,那么您的应用程序可能没有使用任何标准身份验证机制。如果是这种情况,请查看login.aspx
内部或执行身份验证的任何代码。在那里,您将获得登录的用户数据。
我不建议您更改web.config文件中的任何内容,而不必掌握应用程序中的最新信息。
答案 2 :(得分:0)
User
对象的属性通常由应用程序的身份验证方案(Forms,Windows或Custom)填充,因此在开始访问{{1}之前,您需要确保其中一个属性到位。 }。
有关详细信息,请查看docs at MSDN。