我目前正在尝试从经过身份验证的用户公开一个字段,但是在尝试向经过身份验证的用户添加新声明时遇到了一些困难。
在 MVC5 中,我会做类似以下的事情:
public class ApplicationUser : IdentityUser
{
public string FullName { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
userIdentity.AddClaim(new Claim("FullName", FullName));
return userIdentity;
}
}
但是,当我尝试在 MVC6 中执行此操作时,我遇到了缺少对象和方法的问题。CreateIdentityAsync() 和 DefaultAuthenticationTypes 似乎都丢失了,或者说是 Visual Studio,当我深入研究 Identity 源时,我可以看到 CreateIdentityAsync 不再存在,但是我似乎找不到任何关于 DefaultAuthenticationTypes 的信息。
现在在这一点上,我认为这是一个很好的选择,但在过去的几天里它一直让我发疯,并且很高兴了解什么是错误的或这是如何改变的。