我为提供ISO认证的公司构建简单的公共WCF
服务。目标是将服务集成到其公共网站,以便可以查询公司名称或证书ID并查看匹配的认证。为此,我创建了以下两个自定义方法:
GetByCompany(字符串查询)返回与查询匹配的单个公司的所有认证(仅限于一家公司)。
GetByCertId(字符串查询)返回与查询匹配的证书和相应的公司。
数据存储在名为Certificates的单个实体中。我只希望我的两个自定义方法可以公开访问,但为了让他们访问证书我也必须授予对证书的读访问权 - 这违背了我的自定义方法的目的(参见Here,注意在服务操作访问控制)。我已经设置了这样的权限:
config.SetServiceOperationAccessRule("GetByCompany", ServiceOperationRights.ReadMultiple);
config.SetServiceOperationAccessRule("GetByCertId", ServiceOperationRights.ReadMultiple);
config.SetEntitySetAccessRule("Certificates", EntitySetRights.ReadMultiple);
如何限制对证书的访问,但仍使用自定义方法 返回我需要的结果?