5

我目前正在尝试从经过身份验证的用户公开一个字段,但是在尝试向经过身份验证的用户添加新声明时遇到了一些困难。

在 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 的信息。

现在在这一点上,我认为这是一个很好的选择,但在过去的几天里它一直让我发疯,并且很高兴了解什么是错误的或这是如何改变的。

4

0 回答 0