我正在使用 WCF 服务和 net.tcp 端点,并且 serviceAuthentication 的主体 PermissionMode 设置为 UseWindowsGroups。

目前在服务的实现中,我使用 PrincipalPermission 属性来设置每个方法的角色要求。

        [PrincipalPermission(SecurityAction.Demand, Role = "Administrators")]
        [OperationBehavior(Impersonation = ImpersonationOption.Required)]
        public string method1()

我正在尝试做几乎完全相同的事情,除了在 app.config 中设置角色的配置。有什么方法可以做到这一点并且仍然使用 Windows 组身份验证?

谢谢

最佳答案

如果我理解得很好,您想在运行时选择角色。这可以通过 WCF 操作中的 permission 需求来完成。例如。

public string method1()
{
    PrincipalPermission p = new PrincipalPermission(null, "Administrators");
    p.Demand();
    ...

10-08 05:21