2011-01-19 49 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