限制自定义WCF数据服务方法使用的实体的权限

时间:2015-12-16 08:39:38

标签: c# wcf

我为提供ISO认证的公司构建简单的公共WCF服务。目标是将服务集成到其公共网站,以便可以查询公司名称或证书ID并查看匹配的认证。为此,我创建了以下两个自定义方法:

  1. GetByCompany(字符串查询)返回与查询匹配的单个公司的所有认证(仅限于一家公司)。

  2. GetByCertId(字符串查询)返回与查询匹配的证书和相应的公司。

  3. 数据存储在名为Certificates的单个实体中。我只希望我的两个自定义方法可以公开访问,但为了让他们访问证书我也必须授予对证书的读访问权 - 这违背了我的自定义方法的目的(参见Here,注意在服务操作访问控制)。我已经设置了这样的权限:

            config.SetServiceOperationAccessRule("GetByCompany", ServiceOperationRights.ReadMultiple);
            config.SetServiceOperationAccessRule("GetByCertId", ServiceOperationRights.ReadMultiple);
            config.SetEntitySetAccessRule("Certificates", EntitySetRights.ReadMultiple);
    
      

    如何限制对证书的访问,但仍使用自定义方法   返回我需要的结果?

0 个答案:

没有答案