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

5 .net c# vpn identity principal

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

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

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

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

Dav*_*kle 5

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

  • 这是事实,但我遇到的问题是应用程序是使用ClickOnce部署的,您不能使用"运行方式".我通过编写提示用户登录的自定义身份验证服务解决了我的问题,然后使用用户名和密码查询AD.这是一个奇怪的情况,因为我们的AD中存在用户帐户,但他们的计算机不在域中. (2认同)