如何从asp.net身份创建的数据库中读取数据

时间:2014-09-07 20:40:51

标签: c# asp.net asp.net-mvc

我有来自我的asp.net mvc(Identity 2.0)的数据库,它有值:

enter image description here

在帐户控制器中:

public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
   (...)
        var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
   (...)
}

    public async Task<ActionResult> Register(RegisterViewModel model)
{
 (...)
            var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
            var result = await UserManager.CreateAsync(user, model.Password);
 (...)
}

但是现在我已经创建了一个控制台应用程序并连接到我的数据库,但是如何读取这些值呢?

例如:对于admin我有密码:admin123,但这里有两个值: passwordHashSecurityStamp(?)

2 个答案:

答案 0 :(得分:0)

您已使用UserManager创建用户,对FindAsyncFindByNameAsync执行相同操作。

答案 1 :(得分:0)

您不应该重新实现这些功能,而是使用框架提供的类 例如,您可以使用PasswordHasher类通过VerifyPassword方法(http://msdn.microsoft.com/en-us/library/microsoft.aspnet.identity.passwordhasher.verifyhashedpassword(v=vs.111).aspx)验证密码。

此外,您可以查看Identity命名空间中类的源代码,例如PasswordHasherUserManager。不幸的是,Identity命名空间目前不是开源的(https://aspnetidentity.codeplex.com/SourceControl/latest#Readme.markdown),但它们不应该太复杂,无法用Reflector或JustDecompile来理解。