【问题标题】:{"UserId not found."} when using manager.CreateIdentity{"找不到用户 ID。"} 使用 manager.CreateIdentity 时
【发布时间】: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


【解决方案1】:

您确定不存在使用同一电子邮件的用户?

【讨论】:

  • 我用不同的数据库在本地进行了测试,所以我很确定不是这样。
  • 您能否检查不同的选项,例如:customerName / Fakemail、fakeName / customerMail 和 customerName/customeremail@FakeDomain。希望这会缩小范围。
猜你喜欢
  • 2018-05-17
  • 1970-01-01
  • 2014-04-24
  • 1970-01-01
  • 2012-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
相关资源
最近更新 更多