2011-10-07 41 views
1

嗨,获取WindowsAccount为发出请求到WCF服务

我有一个WCF服务(会话)同时使用WindowsAuthentication和常规用户名/密码认证当前用户。

现在我需要获取客户端上发送请求到WCF服务的当前用户。

我知道这可以在IAuthorizationPolicy中完成,但林不知道如何在webmethod中做到这一点?

我已经试过这样:

WindowsIdentity.GetCurrent(); 

这并不然而,仅返回运行WCF服务(似乎),而不是已经配有当前requst客户端用户当前的用户?

普莱斯建议

BestRegards

回答

1

ServiceSecurityContext.Current.WindowsIdentity应该做的伎俩。

1

发送请求是avaialable在WCF通过AuthorizationContext用户的身份,

AuthorizationContext背景= ServiceSecurityContext.Current.AuthorizationContext

,对于任何一种身份验证方法,不管工作您使用Windows或用户名/密码。

默认情况下,WCF不会在正在运行的线程中设置标识,因此您无法使用WindowsIdentity获取它。

Registers Pablo。