繁体   English   中英

针对服务器端的WCF调用者的ActiveDirectory组进行验证

[英]validate against an ActiveDirectory group of WCF caller in the server side

我有一个WCF服务,托管在WindowService中,使用nettcpbinding,如果发件人属于特定的AD组,我想在其中执行C#代码检查。

可能吗? 如果是这样,怎么办?

假设WCF客户端和服务器在同一域中,则可以执行以下操作:

在客户端,您可以使用Windows身份验证客户端身份:

using System.Security.Principal;
....
ServiceReference.ServiceClient client = new ServiceReference.ServiceClient();
client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Identification;

在服务器端,您将获取调用方Windows身份并测试它是否属于该组:

    WindowsIdentity callerWindowsIdentity = ServiceSecurityContext.Current.WindowsIdentity;
    WindowsPrincipal windowsPrincipal = new WindowsPrincipal(callerWindowsIdentity);
    var isInRole = windowsPrincipal.IsInRole("Users");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM