调用SignIn后,我可以使用OWIN修改ASP.NET Identity中的声明吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (14)

SignIn被调用后,是否可以检索和修改控制器中的声明?这对我不起作用:

ClaimsIdentity i = (ClaimsIdentity)HttpContext.GetOwinContext().Authentication.User.Identity;
i.AddClaim(new Claim("type", "value"));

我需要做的是:登录完成后,用户一直在做其他事情,他们发布一个表单,我需要修改这一点的索赔,并将其重定向到另一个页面。我想知道这是不是由于PRG和cookies,或者仅仅是身份,还是我缺乏知识?

我实际上是通过调用SignIn第二次,这似乎工作,但我想这会产生副作用,所以很高兴知道是否有办法修改这些不管。

提问于
用户回答回答于

调用SignIn正是想要修改用户声明时应该执行的操作。它基本上导致ClaimsIdentity被序列化到cookie中,这就是为什么你会看到新的索赔显示在后续请求。

扫码关注云+社区