【问题标题】:How do I get the Current User identity for a VPN user in a Windows forms app?如何在 Windows 窗体应用程序中获取 VPN 用户的当前用户身份?
【发布时间】:2010-11-05 19:38:51
【问题描述】:

我们目前正在开发一个 Windows 智能客户端,该客户端需要使用其 AD 组成员身份对用户进行身份验证。

我们现在要求某些用户通过 VPN 连接。有什么方法可以从 VPN 登录中获取 AD 帐户身份和组?

WindowsIdentity.GetCurrent() 返回本地用户帐户,而不是他们的 VPN 帐户信息。

本地帐户名称与用于 VPN 连接的 AD 帐户不同。即用户在他们的家用电脑上,并使用他们的工作 AD 帐户连接到办公室。

【问题讨论】:

  • 您能详细说明您的 VPN 设置吗?在我们的系统(Windows 远程访问)中,VPN 帐户与用户在本地登录时使用的帐户相同。

标签: c# .net identity vpn principal


【解决方案1】:

如果他们的计算机在域中并且他们使用 AD 凭据登录,那么您很好。 WindowsIdentity.GetCurrent() 将正确返回。如果您 VPN 进入网络但没有进入 AD,那么您就不走运了。尝试以 AD 帐户运行您的程序。如果您在“运行方式”对话框中正确验证,WindowsIdentity.GetCurrent() 应该是正确的。

【讨论】:

  • 这是真的,但我遇到的问题是应用程序是使用 ClickOnce 部署的,您不能使用“运行方式”。我通过编写一个提示用户登录的自定义身份验证服务解决了我的问题,然后使用他们的用户名和密码查询 AD。这是一个奇怪的情况,因为用户帐户存在于我们的 AD 中,但他们的计算机不在域中。
猜你喜欢
  • 1970-01-01
  • 2021-01-10
  • 2018-11-04
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多