【发布时间】:2021-09-21 12:04:56
【问题描述】:
我们已经运行了大约 4 个月,到目前为止,我们还没有收到任何投诉。今天,我们有人抱怨创建帐户对他们不起作用。于是我自己试了一下,调试确实发现了问题。
我们得到一个错误
{“未找到用户 ID。”}
发生在这一行
var userIdentity = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
我不明白为什么当我尝试创建一个帐户时它运行良好,但使用他们的电子邮件/名称总是吐出错误...对于我没有经验的大脑来说毫无意义?
这是我的完整代码
public bool CreateUser(string userName, string Email, string Password, string fName, string lName, string country, string ip)
{
try
{
// Default UserStore constructor uses the default connection string named: DefaultConnection
var userStore = new UserStore<IdentityUser>();
var manager = new UserManager<IdentityUser>(userStore);
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 1,
RequireNonLetterOrDigit = false,
RequireDigit = false,
RequireLowercase = false,
RequireUppercase = false
};
var user = new IdentityUser() { UserName = userName, Email = Email, EmailConfirmed = false };
IdentityResult result = manager.Create(user, Password);
Utilities u = new Utilities();
var usersID = user.Id;
//u.SendMailConfirmation(Email, usersID, fName);
userDetails(usersID, ip, fName, lName, country);
var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;
var userIdentity = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
authenticationManager.SignIn(new AuthenticationProperties() { }, userIdentity);
return true;
}
catch (Exception ex)
{
return false;
}
}
【问题讨论】:
-
检查连接字符串。如果直接查询db,能找到用户吗?
-
检查,绝对没有创建用户的痕迹。在本地 SQL 或实时 SQL 上。
标签: c# asp.net asp.net-identity