【问题标题】:Is System.IdentityModel.Policy.IAuthorizationPolicy obsolete?System.IdentityModel.Policy.IAuthorizationPolicy 过时了吗?
【发布时间】:2015-02-24 15:59:02
【问题描述】:

根据这篇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) 编写自定义身份验证和授权逻辑。建议的路线是什么?

感谢您的意见

【问题讨论】:

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


    【解决方案1】:

    是的,它们已被 .NET 4.5 中引入的“新”身份管道弃用。

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

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

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2017-05-21
      相关资源
      最近更新 更多