次のようにASP.NET Core Identityを使用して新しいユーザーを作成しています。
new User {
Email = "[email protected]",
Name = "John"
}
await userManager.CreateAsync(user, "password");
ユーザーを作成するときにクレームを追加する必要があります。私は試した:
new User {
Email = "[email protected]",
Name = "John",
Claims = new List<Claim> { /* Claims to be added */ }
}
ただし、Claimsプロパティは読み取り専用です。
これを行う最良の方法は何ですか?
UserManager<YourUser>.AddClaimAsync
メソッドを使用して、ユーザーにクレームを追加できます
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"));
または、ユーザー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);