首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >调用SignIn后,是否可以使用OWIN修改ASP.NET身份中的声明?

调用SignIn后,是否可以使用OWIN修改ASP.NET身份中的声明?
EN

Stack Overflow用户
提问于 2014-04-01 02:00:00
回答 1查看 3.6K关注 0票数 16

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

代码语言:javascript
复制
ClaimsIdentity i = (ClaimsIdentity)HttpContext.GetOwinContext().Authentication.User.Identity;
i.AddClaim(new Claim("type", "value"));

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

更新:我实际上是通过第二次调用SignIn来解决这个问题的,这似乎是有效的,但我猜这会有副作用,所以如果有一种方法可以不管怎样地修改它们,那就更好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-01 03:01:05

当您想要修改用户的声明时,调用SignIn正是您应该做的事情。它基本上导致ClaimsIdentity被序列化到cookie中,这就是为什么您会在后续请求中看到新声明的原因。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22768836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档