WCF消息检查器中的用户模拟

时间:2015-04-26 12:42:32

标签: c# asp.net .net wcf

我在使用WCF消息检查程序时遇到问题,问题是我无法在消息检查程序中获取模拟用户,当我尝试使用WindowIdentity.GetCurrent()获取当前用户时,它返回AppPool \ DefaultAppPool而不是模拟用户。

另一方面如果我尝试让用户进入OperationContract,则可以使用模拟用户。

private void RequestValidationStart(ref Message request)
{
    // WindowIdentity.GetCurrent() returns IIS AppPool\DefaultAppPool
    // instead of impersonated user
    var user = System.Security.Principal.WindowIdentity.GetCurrent();
}

如何在WCF Message Inspector中获取模拟用户?

更新

Rajesh向我请求了服务绑定和身份验证机制,这就是我配置服务的方式:

<service name="MyEndPoint">
    <endpoin behaviorConfiguration="MyEndPointBehavior" binding="webHttpBinding"
    bindingConfiguration="WebHttp"
    contract="MyEndPointContract"></endpoint>
</service>

<webHttpBinding>
    <binding name="WebHttp">
        <security mode="TransportCredentialOnly">
            <transport clientCertificateTrype="Basic"></transport>
        </security>
    </binding>
</webHttpBinding>

0 个答案:

没有答案