web-dev-qa-db-fra.com

Ajouter des revendications lors de la création d'un nouvel utilisateur

Je crée un nouvel utilisateur à l'aide de ASP.NET Core Identity comme suit:

new User {
  Email = "[email protected]",
  Name = "John"
}

await userManager.CreateAsync(user, "password");

Je dois ajouter une réclamation lors de la création de l'utilisateur. J'ai essayé:

new User {
  Email = "[email protected]",
  Name = "John",
  Claims = new List<Claim> { /* Claims to be added */ }  
}

Mais la propriété Claims est en lecture seule.

Quelle est la meilleure façon de procéder?

19
Miguel Moura

Vous pouvez utiliser UserManager<YourUser>.AddClaimAsync méthode pour ajouter une réclamation à votre utilisateur

var user = new User {
  Email = "[email protected]",
  Name = "John"
}

await userManager.CreateAsync(user, "password");

await userManager.AddClaimAsync(user, new System.Security.Claims.Claim("your-claim", "your-value"));

Ou ajoutez des revendications à la collection utilisateur Claims

var user = new User {
  Email = "[email protected]",
  Name = "John"
}

user.Claims.Add(new IdentityUserClaim<string> 
{ 
    ClaimType="your-type", 
    ClaimValue="your-value" 
});

await userManager.CreateAsync(user);
36
agua from mars