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

Windows 将当前用户凭据传递到远程服务器,windows,Windows,我在一台远程计算机上有一个应用服务器(webservice或remoting,尚未决定),在同一个域上有一个客户端。我想将该用户作为服务器上的域用户进行身份验证 我可以要求用户输入他们的Windows用户名/密码,并将其发送到服务器,让服务器根据Active Directory检查这些用户名/密码,但我不希望这样做。有没有办法让客户端发送某种令牌,然后服务器可以使用这些令牌来识别哪个域用户正在向其发送请求?显然,我想保护服务器,防止有人发送假用户ID并冒充其他用户 澄清 计算机A上的客户端将与计

我在一台远程计算机上有一个应用服务器(webservice或remoting,尚未决定),在同一个域上有一个客户端。我想将该用户作为服务器上的域用户进行身份验证

我可以要求用户输入他们的Windows用户名/密码,并将其发送到服务器,让服务器根据Active Directory检查这些用户名/密码,但我不希望这样做。有没有办法让客户端发送某种令牌,然后服务器可以使用这些令牌来识别哪个域用户正在向其发送请求?显然,我想保护服务器,防止有人发送假用户ID并冒充其他用户

澄清

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


我不需要模拟其他用户,我只需要知道(确切地说)它是谁。

您是说客户端与您的服务器通信,您需要在第三台服务器上使用客户端的权限吗?该场景描述了这一点。博客对它进行了详细的描述,以及如何绕过它(域修改)

[…]如果您将网络设置为使用Kerberos,并将相关web服务器设置为受信任的委派,则可以绕过此问题并使用适当的委派

添加:

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

添加:


您对此帖子的评论表明,使用模拟的windows身份验证适用于您。查看代码示例。

如果您选择使用Kerberos路由,请参阅以获取有关故障排除的提示。相信我,这有时会让人头疼:)。嗨,西蒙,我只需要知道a计算机的登录名,公司的政策是,当你不坐在电脑前时,锁定你的电脑,所以如果其他人使用它,那就另当别论了。我不想做的是像这样向服务器发送一个请求ISession StartSession(字符串用户名),因为任何人都可以编写一个简单的应用程序来发送他们喜欢的任何东西。我想要的是类似ISession StartSession(SomeLoginToken用户)的东西;我知道有些东西是不能伪造的——只是想知道这是否可以做到?我想WPF是这样做的,但这是远程处理。