【问题标题】:Get domain user from IPAddress or Hostname in .Net从 .Net 中的 IPAddress 或 Hostname 获取域用户
【发布时间】:2010-04-05 23:20:10
【问题描述】:

我们正在尝试为 Growl for Windows 实施自定义解决方案。我们告诉 Growl 客户端订阅来自我们服务器的通知。然后,服务器通过 GNTP(Growl 消息传递协议)从客户端获取消息。我们需要登录到客户端计算机的用户名才能进行数据库查找。 GNTP 不提供此信息。

所以,我们有一个连接的客户端套接字(因此,IP 地址)和来自该客户端的包含其机器名称的消息。

有没有办法确定登录到指定机器的用户的用户名?我们可以访问 Windows 域服务。

【问题讨论】:

  • 经过一番搜索,很明显这并不可行。有没有办法做相反的事情?获取给定用户名的 IP 或主机?
  • 只是为了让您保持正轨:是的,这样的事情应该是可能的 - 我在客户那里看到过。提供一个用户名,您将获得带有机器名称的最新登录信息,您可以将其解析为地址。但我认为他们使用全局登录脚本来做到这一点。你能做这样的事情吗?调用yourserver/Login?Id=CurrentUser 什么的登录脚本?
  • 为什么不让客户端发送用户ID?

标签: c# dns growl


【解决方案1】:

这将为您提供 Windows 域和当前用户(如果这是您所追求的)

使用 System.Security.Principal;

        if (WindowsIdentity.GetCurrent().IsAuthenticated)
        {
            string Result = WindowsIdentity.GetCurrent().Name;

【讨论】:

    【解决方案2】:

    我们最终通过在登录时运行客户端应用程序并让我们的服务器知道哪个用户已登录来执行相反的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2023-04-02
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多