2

我正在考虑使用 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 来保护对该方法的访问。关于这是否是最佳方法以及如何使用装饰来保护方法的任何提示将不胜感激。

4

2 回答 2

2

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

或者,对于简单的情况,您可以使用它(我认为您指的是这些):

[ClaimsPrincipalPermission(SecurityAction.Demand, Operation = "Operation1", Resource = "Resource1")]
于 2011-02-02T10:54:15.287 回答
1

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

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

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

于 2011-02-21T08:17:46.347 回答