2011-01-19 51 views
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使用WIF/STS的安全WCF服务 - 用所需的声明装饰方法?

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

回答

2

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

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

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

的ClaimsPrincipalPermission正是我之后 - 以及在WIF样品中没有记录,但一旦你知道你在找什么,有在网络上相当多的材料。 – hitch 2011-04-28 01:07:40

1

你也可以实现一个IOperationInvoker。确定您的合同的属性,并实施一个行为。在启动时旋转通道和端点,在操作上反映方法和/或参数的属性以设置检查。然后在调用操作时应用这些检查。

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

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