C# 来自web服务的客户端用户名/windowsIdentity

C# 来自web服务的客户端用户名/windowsIdentity,c#,.net,wcf,web-services,C#,.net,Wcf,Web Services,如何在不模拟的情况下从web服务获取客户端的WindowsIdentity 模拟的优点和缺点是什么?添加对System.Web的引用并使用以下代码: HttpContext.Current.User.Identity.Name 模拟允许服务在充当调用该服务的用户时调用其他内容。要仅获取调用服务的用户的身份,不需要模拟(但需要启用身份验证)。何时需要模拟?出于审计目的,模拟不是更好吗?只有当服务需要对调用该服务的用户的用户帐户执行某些操作时,才需要模拟。说明服务是否需要读取c:\asdf.txt

如何在不模拟的情况下从web服务获取客户端的WindowsIdentity


模拟的优点和缺点是什么?

添加对System.Web的引用并使用以下代码:

HttpContext.Current.User.Identity.Name

模拟允许服务在充当调用该服务的用户时调用其他内容。要仅获取调用服务的用户的身份,不需要模拟(但需要启用身份验证)。

何时需要模拟?出于审计目的,模拟不是更好吗?只有当服务需要对调用该服务的用户的用户帐户执行某些操作时,才需要模拟。说明服务是否需要读取c:\asdf.txt并需要以Bob(调用服务的人)的身份执行。通常,您不需要模拟,因为服务具有必要的权限。(您可能需要它的一种情况是,当一个服务以调用第一个服务的用户的身份调用另一个服务时,但这会变得非常复杂。)它始终为null,有任何建议吗?将aspNetCompatibilityEnabled设置为true: