如何在Windows窗体应用程序中获取VPN用户的当前用户身份?

我们目前正在开发一个Windows Smartclient,需要使用其AD组成员身份对用户进行身份validation。

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

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

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

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