asp.net - 获取返回 "IIS APPPOOL/Sitename"的当前Windows用户的名称

标签 asp.net iis-6

我无法一生解决这个问题。我正在尝试使用以下行获取登录到Windows的当前用户的名称:

string user = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();

当我通过IIS发布并打开它后运行此行时,它给我起了一个名称“IIS APPPOOL/SiteName”。但是,当我通过Visual Studio 2013调试器运行此命令时,将显示正确的名称。

最佳答案

您必须在ASP.NET网站上启用Windows身份验证/模拟,否则它将在为应用程序池配置的任何帐户的上下文中运行。

https://msdn.microsoft.com/en-us/library/ff647405.aspx

 <system.web>
    ...
    <authentication mode="Windows"/>
    <identity impersonate="true"/>
    ...
 </system.web>

关于asp.net - 获取返回 "IIS APPPOOL/Sitename"的当前Windows用户的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30226024/

相关文章:

asp.net - 如何使用 asp.net C# 重新启动 IIS 6 的 defaultAppPool?

asp.net - IIS 6 忽略 Web.config 授权设置

asp.net - 如何在单击按钮时更改包含的 CSS 文件?

asp.net - 有人能够在 Visual Studio 2015 中使用 Angular 4 Quickstart 吗?

asp.net-mvc-3 - 使用自定义应用程序池标识拒绝目录列表

c# - 如何告诉谷歌我有另一个页面?

asp.net-mvc - KO 绑定(bind)在 IIS 6 中不起作用

Asp.Net MVC 身份验证 Cookie 冲突

c# - asp.net web 应用程序如何在线使用 Microsoft Access 数据库文件?

asp.net - 如何将标题属性添加到 ASP.NET DropDownList 的每个选项