我对 MVC 5 中的声明有疑问。
所以基本上想象我在数据库中有一个注册用户,现在用户要登录,就像这样:
private async Task SignInAsync(ApplicationUser user, bool isPersistent)
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
// Add more custom claims here if you want. Eg HomeTown can be a claim for the User
var homeclaim = new Claim(ClaimTypes.Country, user.HomeTown);
identity.AddClaim(homeclaim);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
因此,在这种情况下,我向身份添加新声明,然后登录此身份。
现在我的问题是:
设置此声明有什么用?(因为如果我需要它,我也可以从数据库中获取它,所以在这种索赔情况下有什么意义)
我以后如何在代码中使用它?