如何在证书认证中获取Windows身份信息

问题描述 投票:0回答:1

如何在WCF中使用证书认证时获取Windows身份信息?当我使用HttpContext.Current.User.Identity时,我得到NULL。另外,当我使用ServiceSecurityContext.Current.WindowsIdentity.Name时,由于证书认证的原因,返回的值也是NULL。

请赐教。

wcf x509certificate
1个回答
0
投票

使用证书认证,服务器无法获得客户端的windows身份,只能获得证书的相关信息。

如果想在服务器端获取客户端的windows身份,可以考虑添加一个客户端将windows身份传递给服务器的方法。

            [OperationContract]
            void GetWindowsIdentity(string WindowsIdentity);

这就是服务器端的OperationContract。

           public void GetWindowsIdentity(string WindowsIdentity) {
        Console.WriteLine("WindowsIdentity:" + WindowsIdentity);
    }

这就是该方法的实现。

    client.GetWindowsIdentity(WindowsIdentity.GetCurrent().Name);

客户端将windows身份信息传递给服务器端。

© www.soinside.com 2019 - 2024. All rights reserved.