如何使用Windows权限机制?

时间:2017-01-31 18:47:01

标签: c# winforms wcf authorization

我刚开始学习WCF,我需要用Winforms编写聊天程序。

我需要创建一个本地用户组(使用Windows),该组具有使用该聊天程序的权限。不在组中的用户无法使用它。 我已经阅读了它,但我仍然不明白我在服务器端需要做什么来进行此验证,以及我如何确保只有来自此特定组的用户才具有权限。

1 个答案:

答案 0 :(得分:0)

这似乎是您正在寻找的,尽管我重复警告说这种方法只能在一个域内工作(这通常意味着它只适用于Intranet):

WCF Web Service Authentication based on AD groups

接受的答案演示了如何通过钻取此对象来确定组成员身份来捕获向服务发出请求的用户的安全上下文:

WindowsIdentity caller = ServiceSecurityContext.Current.WindowsIdentity;

您需要使用wsHttp或netTcp绑定(而不是基本的HTTP绑定)才能使其工作 - 这些绑定机制提供了更多功能,以换取与其他平台的更少互操作性。如果你严格地在防火墙内#34; netTcp绑定通常更有意义,尽管它可能使用防火墙默认阻止的端口。 wsHTTP使用标准的HTTP端口,通常是打开的。

在客户端,System.Security.Principal命名空间中有等效的对象,允许您在那里强制执行安全策略。