Asp.net-Identity
呼叫 SignIn 後,我可以使用 OWIN 修改 ASP.NET Identity 中的聲明嗎?
是否可以在呼叫後在控制器中檢索和修改聲明
SignIn?這對我不起作用:ClaimsIdentity i = (ClaimsIdentity)HttpContext.GetOwinContext().Authentication.User.Identity; i.AddClaim(new Claim("type", "value"));我需要做的是:登錄完成並且使用者一直在做其他事情后,他們發布了一個表單,此時我需要修改聲明並將它們重定向到另一個頁面。我想知道這是否由於 PRG 和 cookie,或者僅僅是身份,或者我缺乏知識而不起作用?
更新:我實際上通過
SignIn第二次呼叫來解決這個問題,這似乎有效,但我猜這有副作用,所以很高興知道是否有辦法修改這些無論如何。
當您想為使用者修改聲明時,呼叫 SignIn 正是您應該做的。它基本上會導致 ClaimsIdentity 被序列化到 cookie 中,這就是為什麼您會看到新的聲明出現在後續請求中的原因。