最新兼容的Asp.Net标识

时间:2017-02-02 04:14:29

标签: asp.net asp.net-core asp.net-identity claims-based-identity

我可以在非核心.Net中使用哪种最新的ASP.Net Identity版本?

我正在尝试实施基于角色的声明,我看到了代码段:

roleManager.AddClaimAsync(...

我做了一些研究,我发现"直接为角色添加声明"是ASP.Net Identity Core的新功能......

目前,我正在使用ASP.Net Identity 2.x(针对.Net 4.6)。我有一些选择吗? .Net Core的Identity Core需求?

1 个答案:

答案 0 :(得分:1)

最新的非核心身份是2.2.1,这是Codeplex上找到的源代码。

如果您需要向角色添加声明,您必须自己实现 - 这并不难:您需要添加一个包含声明的表,但是引用Role而不是用户 - 请参阅现有的UserClaims表

然后,当用户登录时,您必须阅读所有用户角色及其所有声明,并将其添加到GenerateUserIdentityAsync,例如此sample

请注意,SecurityStampValidatorsample)中的声明会被覆盖,因此您需要在该方法中向Cookie添加声明,否则您将在以下情况下放弃额外声明身份重新生成。