.NET Claim in three namespaces

前端 未结 3 888
北海茫月
北海茫月 2021-02-12 15:17

Now this is odd. After completing some research on claims based solutions in .NET, found that different authors refer to different classes in .NET namespace when actually speaki

相关标签:
3条回答
  • 2021-02-12 15:34

    For anyone still looking for a definitive answer to this, MSDN has the following information on it's System.IdentityModel.Claims Namespace page...

    The System.IdentityModel.Claims namespace contains classes that implement the Windows Communication Foundation (WCF) claims-based identity authorization model. This model includes the Claim class and the ClaimSet class.

    Beginning with .NET Framework 4.5 and the integration of Windows Identity Foundation (WIF) into the .NET Framework, the WCF claims-based identity model has been superseded by WIF. WIF provides a claims-based identity object model that can be used to provide authentication and authorization across several Microsoft product stacks, including the CLR, WCF, and ASP.NET. The WIF classes that represent claims, claim types, and identities and principals that are based on claims are contained in the System.Security.Claims namespace. Beginning with .NET 4.5, these classes should be used instead of those in the System.IdentityModel.Claims namespace.

    0 讨论(0)
  • 2021-02-12 15:43

    System.IdentityModel.Claims is part of WCF/.Net 3.0

    Microsoft.IdentityModel.Claims extends System.IdentityModel.Claims and is the Windows Identity Foundation class.

    System.Security.Claims is the .Net 4.5 version.

    So if you're writing using WIF, you should use Microsoft.IdentityModel.Claims.

    0 讨论(0)
  • 2021-02-12 15:45

    Microsoft's answer appears to be: "WIF classes are now spread across various assemblies, the main ones being System.Security.Claims, System.IdentityModel, and System.IdentityModel.Services. System.Security.Claims contains the new ClaimsPrincipal and ClaimsIdentity classes (see below). All principals in .NET now derive from ClaimsPrincipal. The classes from Microsoft.IdentityModel in WIF 1.0 have been spread mainly across System.IdentityModel (pipeline, WCF integration) and System.IdentityModel.Services (support for WS-Federation, session management). Those changes are reflected on the configuration sections as well."

    0 讨论(0)
提交回复
热议问题