访问后身份声明显示为空

时间:2019-03-20 20:45:55

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

我有一个有趣的问题。 访问后,我的身份验证后的ClaimsIdentity变为null。 访问的方式似乎无关紧要,任何访问都将使声明无效。

通过调试查看声明,访问声明变量,查询声明等。这些似乎都使声明无效。

下面的示例屏幕截图。第一个显示我在调试器中公开声明,第二个显示我在将鼠标移开然后返回到ClaimsIdentity变量后没有公开断点的情况下公开声明。

当我第一次检查索赔标识时,它会显示8个索赔(以及所有正确填充的信息)。 Non-Null-Claim

当我将鼠标移出Claim变量并移回它之上时,魔术般地,Claims为空。 Claims Missing

这是我尝试过的东西。

  • 直接将User.Identities.First()分配给i,无需更改。
  • 创建User.Identities.First()的新副本并分配给i 直接,没有变化。
  • 枚举声明,可以工作,但是声明在循环后变为null
  • 直接将e分配给ClaimType,无需更改。

无论我做什么,声明都将在访问后始终为空。这显然不是故意的行为。

0 个答案:

没有答案