在自定义用户对象中使用标识

时间:2017-03-15 21:36:42

标签: visual-studio c#-4.0 asp.net-web-api asp.net-identity

我一直在努力争取这一周。我已经阅读了几篇关于如何做的文章。尽管如此,我认为它不应该像每个人所说的那样复杂,运行迁移/覆盖并自己实现userStore(这就是我尝试使用身份的原因)等等。遵循此文档我能够创建一个身份用户"ASP NET identity From empty project"

enter image description here

正在填充表AspNetUsers,但我想要做的是在此表中添加更多列。这是我尝试过的但却一直让我犯错误。

string value = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
        var db = new IdentityDbContext(value);
        var userStore = new UserStore<UsuarioTest>(db);
        var manager = new UserManager<UsuarioTest>(userStore);


        var user = new IdentityUser { UserName = usuario.Nombre };
        var us = new UsuarioTest
        {
            Nombre = usuario.Nombre,
            Email = usuario.Email,
            UserName = usuario.Nombre,
            TelefonoCelular = usuario.TelefonoCelular,
            Password = usuario.Password
        };
        IdentityResult result = manager.Create(us, usuario.Password);

正如您所看到的,我用UsuarioTest替换了IdentityUser,但这不能正常工作。如果我离开IdentityUser并完成此对象,则可以正常工作。

最后,这是我对usuarioTest的实现

public class UsuarioTest : IdentityUser
{
    public DateTime CreateDate { get; set; }
    public virtual string Nombre { get; set; }
    public virtual string Email { get; set; }
    public virtual string Password { get; set; }
    public virtual string TelefonoCelular { get; set; }
    public string Id { get; }
    //public string UserName { get; set; }

    public UsuarioTest()
    {
        Id = Guid.NewGuid().ToString();
    }
}

我希望这些描述足以让你们引导我找到解决方案。

PS:我已经尝试过搜索applicationUser并修改这个类,但这是来自旧版本的身份。我目前正在使用Identity core 4.0

0 个答案:

没有答案