WCF消息授权

时间:2011-10-03 15:45:54

标签: wcf wcf-security

我正在构建一个WCF服务,我需要添加某种安全性,以便用户无法撤回不属于他们的信息。我正在谈论类似于这个问题的here

该服务有类似

的调用
Order GetSalesOrder(id)

我需要确保用户无法撤回不属于他/她的订单。我知道我可以像引用的链接那样做,并且只有一个显式的CheckPermission调用,它会进入数据库并进行检查。但是,我随处可见一堆权限检查代码。我知道我可以将用户ID传递给GetSalesOrder函数,但这需要更改每个服务调用。此选项不能很好地工作,因为有些情况下某些用户可以访问所有订单(不是基于用户角色,具体取决于用户是内部还是外部)。我也读过有关ServiceAuthorizationManager的内容,但这似乎更适用于基于声明的内容。还有其他选择吗?总之,这些是我能想到的选择:

  1. 显式权限检查呼叫服务呼叫
  2. ServiceAuthorizationManager
  3. 某种自定义属性和消息检查器

0 个答案:

没有答案