【问题标题】:Latest Compatible Asp.Net Identity最新兼容的 Asp.Net 身份
【发布时间】:2017-06-19 01:03:46
【问题描述】:

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

我正在尝试实现基于角色的声明,我看到了代码 sn-p:

roleManager.AddClaimAsync(...

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

目前,我使用的是 ASP.Net Identity 2.x(适用于 .Net 4.6)。我有什么选择? .Net Core 的 Identity Core 需求?

【问题讨论】:

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


    【解决方案1】:

    最新的非核心标识是 2.2.1,此源代码可在 Codeplex 找到。

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

    然后,当用户登录时,您必须阅读所有用户角色和他们的所有声明,并将它们添加到 GenerateUserIdentityAsync,就像在这个 sample 中一样。

    请记住,SecurityStampValidator (sample) 中的声明将被覆盖,因此您确实需要在该方法中向 cookie 添加声明,否则在重新生成身份时您将丢失额外的声明。

    【讨论】:

    • 强大,麦克斯!谢谢你。困难的部分是了解 SecurityStampValidator,但我阅读了您的参考资料并自己实现了。
    • @ClickOk 好东西!很高兴这对您有所帮助
    猜你喜欢
    • 2018-02-07
    • 2016-08-24
    • 2019-01-31
    • 1970-01-01
    • 2021-07-29
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多