如何在 Intranet 环境中识别客户端是谁

XuDong Peng-MSFT 10,746 信誉分 Microsoft 供应商
2024-03-07T07:04:03.7333333+00:00

我意识到浏览器身份非常安全,但我想知道是否可以执行以下操作:

我有一个在公司 Intranet 服务器上运行的 C# ASP.NET 应用。

现在,在代码隐藏中,我可以使用 IPHostEntry 获取客户端计算机名称,这很好。知道计算机名称后,我可以获取 Windows 用户名吗?

Note: 该案例整理于:How to identify who the client is, in an intranet environment

ASP.NET
ASP.NET
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
20 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Zhi Lv - MSFT 32,451 信誉分 Microsoft 供应商
    2024-03-07T07:53:10.2633333+00:00

    你好,

    知道计算机名称后,我可以获取 Windows 用户名吗?

    这两者没有必然的联系,您可以尝试使用“Environment.UserName”(如果您使用 RunAs 测试 Environment.UserName,它将为您提供 RunAs 用户帐户名称,而不是最初登录到 Windows 的用户。

    或者

    `String UserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name​ ` (返回 域名\用户名);

    或者

    在配置中将身份验证模式设置为 Windows,并在授权标记中禁用匿名用户。

    <configuration> 
      <system.web> 
        <authentication mode="Windows" /> 
        <authorization> 
          <deny users="?"/> 
        </authorization> 
      </system.web> 
    </configuration>
    
    var userId = this.User.Identity.Name;
    

    如果答案是正确的解决方案,请单击“接受答案”并请投赞成票。如果您对此答案有其他疑问,请点击“评论”。

    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    最好的问候

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。