将当前用户凭据传递给远程服务器

时间:2009-07-08 14:07:24

标签: windows

我在远程计算机和同一域上的客户端上有一个应用程序服务器(webservice或远程处理,尚未决定)。我想在服务器上将用户身份验证为域用户。

我可以要求用户输入他们的Windows用户名/密码并将其发送到服务器并让服务器根据Active Directory检查它们,但我不愿意。有什么方法可以让客户端发送某种令牌,服务器可以使用它来识别哪个域用户正在向它发送请求?显然,我想保护服务器免受发送虚假用户ID和冒充其他用户的人的侵害。

澄清

计算机A上的客户端将与计算机B上的服务器通信。我想我可能会使用.NET远程处理来进行此通信。在服务器上我只需要知道计算机A上用户的ID;如果计算机A上的应用程序必须发送我需要的ID,请确保它没有发送其他用户的ID。

我不需要冒充其他用户,我只需要知道(确定)是谁。

1 个答案:

答案 0 :(得分:0)

您是说客户端与您的服务器通信,您需要在第三台服务器上使用客户端的权限吗?该方案描述了The Double-Hop Problem。博客最详细地描述了它,以及可以做些什么来规避它(域修改)。

  

[...]如果您将网络设置为使用Kerberos并将有问题的Web服务器设置为委托信任,则可以解决问题并使用正确的委派。

<强>加了:

我知道你无法在计算机A上识别用户。如果仅仅是执行程序的用户就足够了吗?您可以在域方案中使用Windows身份验证,但这只会为您提供程序用于身份验证的权限,这可能与键盘前面的实际恶意用户不同。

<强>加了:

您对此帖的评论表明带模拟的Windows身份验证对您有用。请查看http://community.bartdesmet.net/blogs/bart/archive/2006/08/26/4277.aspx以获取代码示例。