System.IdentityModel.Policy.IAuthorizationPolicy是否已过时?

时间:2015-02-22 12:44:23

标签: c# wcf wif claims-based-identity claims

根据这篇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)。建议的方法是什么?

感谢您的意见

1 个答案:

答案 0 :(得分:4)

是的,他们已经被" new" .NET 4.5中引入的标识管道。

ClaimsAuthenticationManager现在是在它到达服务代码之前向主体添加声明的可扩展点。 ClaimsAuthorizationManager可用于隔离授权策略(例如,与ClaimsPrincipalPermission类一起使用)。

无耻插头: http://www.pluralsight.com/courses/iac-wcf