ExternalLoginConfirmation UserManager.CreateAsync失败:无法插入null PashwordHash

时间:2015-06-15 12:19:55

标签: asp.net-mvc asp.net-identity google-login

MVC 5与Dapper和用户< int>

我关注ASP.Net's MVC 5 Guidance for Google OAuth2

我在Startup.ConfigureAuth

中设置了UseGoogleAuthentication

点击Google登录按钮似乎全部工作,直到用户尝试最终确定与

中的网络应用程序的连接
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)

在创建的代码的基本模板中,当我创建项目时,该函数创建一个用户对象并尝试创建用户:

var user = new PortalUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user);

然后我得到了一个可爱的错误:

Source: .Net SqlClient Data Provider
Target: Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action])
Type:   SqlException
Message:    Cannot insert the value NULL into column 'PasswordHash', table 'WebApplication1.dbo.AspNetusers'; column does not allow nulls. INSERT fails.

声明已经终止。

那么,我应该如何从外部登录传递密码哈希?

或者 - 我在表中允许空值吗?

或者 - 是否有UserManager / UserStore / PortalClaimsIdentityFactory的一些方面,我没有实现(覆盖)因为我正在使用User< int>用户密钥?

0 个答案:

没有答案