Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们正在尝试为 Growl for Windows 实施自定义解决方案。我们告诉 Growl 客户端订阅来自我们服务器的通知。然后,服务器通过 GNTP(Growl 消息传递协议)从客户端获取消息。我们需要登录到客户端计算机的用户名才能进行数据库查找。GNTP 不提供此信息。
因此,我们有一个连接的客户端套接字(因此,IP 地址)和来自该客户端的包含其机器名称的消息。
是否有任何可能的方法来确定登录到指定机器的用户的用户名?我们可以访问 Windows 域服务。
这将为您提供 Windows 域和当前用户(如果这是您所追求的)
使用 System.Security.Principal;
if (WindowsIdentity.GetCurrent().IsAuthenticated) { string Result = WindowsIdentity.GetCurrent().Name;
我们最终通过让客户端应用程序在登录时运行并让我们的服务器知道哪个用户已登录来执行相反的操作(排序)。