6

“你有没有做过任何 .net 编程?是的?很好,这是一个巨大的损坏程序,修复它”。这就是我所处的情况,如果这是一个简单的问题,很抱歉。

我正在处理的程序从 Web 服务器中提取文件。预计用户已经登录到 Web 服务器。我需要提取当前登录到服务器的用户的用户名(或者只是确保确实有人登录到服务器)。

我尝试了以下方法,它返回一个空字符串。

user = HttpContext.Current.User.Identity.Name;
4

3 回答 3

7

请确保您在 Web.Config 文件中设置 Windows 身份验证。在访问用户名之前还要检查以下内容,

HttpContext.Current.User.Identity.IsAuthenticated

如下设置 Web.Config,

<authentication mode="Windows"></authentication>
于 2012-07-03T11:24:49.933 回答
1

首先检查Web.config文件中的<authentication>标记。如果您没有找到它,那么您的应用程序可能没有使用任何标准的身份验证机制。如果是这种情况,请查看login.aspx执行身份验证的代码或任何代码。在那里,您将获得登录的用户数据。

我不建议您更改 web.config 文件中的任何内容,而无需牢牢掌握应用程序中的内容。

于 2012-07-03T11:36:02.883 回答
0

对象的属性User通常由应用程序的身份验证方案(窗体、Windows 或自定义)填充,因此在开始访问User.

有关更多信息,请查看MSDN 上的文档

于 2012-07-03T11:30:43.467 回答