2017-07-09 1 views
0

J'ai une application MVC (avec authentification AAD) et je souhaite conserver certaines données dans le cookie d'authentification. Dans mon contrôleur de la maison, je l'ai suivante:Revendications non persisées

public ActionResult Index() 
    { 
     System.Security.Claims.ClaimsIdentity claimsIdentity = System.Security.Claims.ClaimsPrincipal.Current.Identity as System.Security.Claims.ClaimsIdentity; 

     claimsIdentity.AddClaim(new Claim("test01","sada")); 

...

Une fois la page chargée, je refreh la page (F5) et dans le débogueur je peux voir que la demande ne soit pas persisté. Des indices sur ce que je fais mal? Les données de shouldnt être persistées?

Répondre

1

Avec votre code pour ajouter une réclamation dans un contrôleur, la nouvelle réclamation ne sera pas définie dans le cookie et vous ne le verrez pas dans la prochaine demande.

Si vous utilisez le middleware ASP.NET OWIN et que vous souhaitez ajouter un attribut personnalisé à votre utilisateur, la notification OnTokenValidated vous offre la possibilité de modifier l'identité ClaimsIdentity obtenue à partir du jeton entrant. S'il vous plaît lire this blog pour l'explication et l'échantillon de code. Si vous utilisez ASP.NET Core, vous pouvez vous référer à my reply pour l'exemple de code.