【问题标题】:Secure WCF Services using WIF/STS - decorate methods with required claims?使用 WIF/STS 保护 WCF 服务 - 使用所需声明装饰方法?
【发布时间】:2011-06-11 13:17:25
【问题描述】:

我正在考虑使用 WIF 保护一些 WCF 服务,并且在练习 1 中阅读了 Microsoft 的 Identity Training Kit,“此外,您可以期望开发人员通过代码访问安全样式调用分配条件(即通过属性进行装饰)等等)。这两种功能都需要一些编码支持“ (本文中途: http://channel9.msdn.com/Learn/Courses/IdentityTrainingCourse/WebServicesAndIdentity/WebServicesAndIdentityLab/Exercise-1-Using-Windows-Identity-Foundation-to-Handle-Authentication-and-Authorization-in-a-WCF-Ser )

但是,我找不到任何有关如何实施利用这种装饰方法的解决方案的文档。我真的不需要在实际的 WCF 方法或业务逻辑中使用声明,而只是想使用 WIF/STS 来保护对该方法的访问。任何关于这是否是最佳方法以及如何使用装饰来保护方法的提示将不胜感激。

【问题讨论】:

    标签: wcf decorator wif sts-securitytokenservice


    【解决方案1】:

    您还可以实现 IOperationInvoker。为您的合同赋予属性,并以行为方式实施。在启动时通过通道和端点旋转,反映您对方法和/或参数属性的操作以设置检查。然后在调用操作时应用检查。

    周围有几篇很好的文章。虽然我只能找到下面的那个。

    http://msdn.microsoft.com/en-us/magazine/cc163302.aspx

    【讨论】:

      【解决方案2】:

      我想你可以看看 PostSharp。您可以使用 AOP 实现您的横切关注点,然后将它们作为属性应用来装饰您的方法。因此,您的检查将在众所周知的地方隔离,并且业务方法将在安全属性中指定执行这些方法所需的声明。

      或者,对于简单的情况,你可以使用这个(我想你指的是这些):

      [ClaimsPrincipalPermission(SecurityAction.Demand, Operation = "Operation1", Resource = "Resource1")]
      

      【讨论】:

      • ClaimsPrincipalPermission 正是我所追求的——在 WIF 示例中没有很好地记录,但是一旦你知道你在寻找什么,网络上就会有相当多的材料。
      猜你喜欢
      • 2012-12-05
      • 2011-09-29
      • 1970-01-01
      • 2023-03-26
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多