根据这篇msdn文章,界面 IAuthorizationPolicy 是在使用wcf时注入自定义授权逻辑/自定义声明的方法。
https://msdn.microsoft.com/en-us/library/ms729851(v=vs.110).aspx
然而,似乎这个界面中的一些使用的类“几乎已经过时”了 http://msdn.microsoft.com/en-us/library/system.identitymodel.claims%28v=vs.110%29.aspx
System.IdentityModel.Claims命名空间包含类 实现基于声明的Windows Communication Foundation(WCF) 身份授权模型。该模型包括Claim类和 ClaimSet类。从.NET Framework 4.5开始 将Windows Identity Foundation(WIF)集成到.NET中 框架,基于WCF声明的身份模型已被取代 WIF。 WIF提供了一个基于声明的身份对象模型 用于提供跨多个的身份验证和授权 Microsoft产品堆栈,包括CLR,WCF和ASP.NET。 WIF 代表声明,声明类型和身份的类 基于索赔的委托人包含在 System.Security.Claims名称空间。 从.NET 4.5开始,这些 应该使用类而不是类中的类 System.IdentityModel.Claims名称空间。
查看WIF类,似乎没有IAuthorizationPolicy的替代品,但是可以从scatch编写自定义身份验证和授权逻辑(claimsAuthenticationManager / claimsAuthorizationManager)。建议的方法是什么?
感谢您的意见
答案 0 :(得分:4)
是的,他们已经被" new" .NET 4.5中引入的标识管道。
ClaimsAuthenticationManager现在是在它到达服务代码之前向主体添加声明的可扩展点。 ClaimsAuthorizationManager可用于隔离授权策略(例如,与ClaimsPrincipalPermission类一起使用)。