asp.net-identity claims-based-identity owin

asp.net identity - ¿Puedo modificar los reclamos en la identidad de ASP.NET con OWIN después de llamar Iniciar sesión?



asp.net-identity claims-based-identity (1)

¿Es posible recuperar y modificar reclamaciones en un controlador después de que se haya llamado a SignIn ? Esto no funciona para mí:

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

Lo que debo hacer es: después de que el inicio de sesión esté completo y el usuario haya estado haciendo otras cosas, POSTENAN un formulario y debo modificar las reclamaciones en este punto y redirigirlas a otra página. Me pregunto si esto no está funcionando debido a PRG y las cookies, o simplemente a la Identidad, o mi falta de conocimiento.

Actualización: En realidad, SignIn esto llamando a SignIn por segunda vez, lo que parece funcionar, pero creo que tiene efectos secundarios, por lo que sería bueno saber si hay una manera de modificarlos sin importar.


Calling SignIn es exactamente lo que se supone que debes hacer cuando quieres modificar las reclamaciones para el usuario. Básicamente, el valor de ClaimsIdentity se serializa en la cookie, por lo que usted ve que las nuevas reclamaciones aparecen en las solicitudes posteriores.