ASP.NET MVC 5 Identity 2 PasswordSignInAsync方法始终返回false

约翰·斯沃林根

我正在编写将用于外部应用程序的代码。我正在尝试使用Microsoft Identity 2.0和ASP.NET MVC5。我自定义了UserViewModel以容纳FirstName和LastName以及其他几个参数。每当我注册用户时,它都会成功登录,但是当我尝试使用电子邮件/密码进行常规登录时。SignInManager.PasswordSignAsync始终返回false。由于检查框架内部的所有代码,因此我试图弄清楚如何调试情况。我将在此处提供一些代码,以帮助愿意研究它的任何人。提前致谢!

这是Microsoft在其示例中提供的通用登录功能。我在那里什么都没改变。但这是具有错误消息的函数。

public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        // This doesn't count login failures towards account lockout
        // To enable password failures to trigger account lockout, change to shouldLockout: true
        var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {
            case SignInStatus.Success:
                return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return View("Lockout");
            case SignInStatus.RequiresVerification:
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return View(model);
        }
    }

这是登录功能

public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        // This doesn't count login failures towards account lockout
        // To enable password failures to trigger account lockout, change to shouldLockout: true
        var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {
            case SignInStatus.Success:
                return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return View("Lockout");
            case SignInStatus.RequiresVerification:
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return View(model);
        }
    }

这是定制的身份模型

    public class ApplicationUser : IdentityUser
{
    [DisplayName("Prefix")]
    public string Prefix { get; set; }

    [DisplayName("First Name")]
    public string FirstName { get; set; }

    [DisplayName("Last Name")]
    public string LastName { get; set; }

    [DisplayName("Suffix")]
    public string Suffix { get; set; }

    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }

    public System.Data.Entity.DbSet<JBIPlacementTracking.Models.PlacementViewModel> PlacementViewModels { get; set; }

    public System.Data.Entity.DbSet<JBIPlacementTracking.Models.Placement> Placements { get; set; }

    public System.Data.Entity.DbSet<JBIPlacementTracking.Models.PacketStatus> PacketStatus { get; set; }
}

我想知道问题是否可能是我没有自定义的LoginViewModel。

我现在肯定会感到头疼,如果有人有一些好的资源,我将非常感谢与它的链接。

再次感谢您!

akhileshchetu kumar

您使用电子邮件作为用户名,则需要AspNetUsers中将EmailConfirmed字段设置为“ true”

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取ASP.NET MVC5 Identity系统中的所有角色名称

来自分类Dev

ASP.Net MVC 5 w / identity 2.2.0注销不起作用

来自分类Dev

自定义MVC5 ASP.NET Identity中的cookie值

来自分类Dev

ASP.NET MVC 5 how to delete a user and its related data in Identity 2.0

来自分类Dev

ASP.NET MVC 5如何在Identity 2.0中删除用户及其相关数据

来自分类Dev

如何使用MVC5 ASP.NET Identity Framework对SignalR .NET客户端进行身份验证

来自分类Dev

使用单个网站进行身份验证的多个MVC5网站(ASP.NET Identity v2)

来自分类Dev

如何在ASP.Net MVC Identity 2中更改密码验证?

来自分类Dev

将详细信息表读取到ASP.NET MVC 5 Identity 2

来自分类Dev

将散列的安全性列添加到ASP.NET Identity(MVC 5)

来自分类Dev

使用Unity的MVC5应用程序内部的ASP.Net Identity 2.1

来自分类Dev

ASP.NET MVC 5 Identity 2.0,Windows Auth,具有角色属性的用户模型

来自分类Dev

基于用户角色的ASP.NET MVC 5 Identity 2登录重定向

来自分类Dev

ASP.NET MVC 5 Identity & Securing Folders

来自分类Dev

如何在ASP.NET MVC5 Identity 2中添加HTML电子邮件模板以进行电子邮件确认?

来自分类Dev

使用ASP.NET Identity 2.0和MVC 5的自定义单点登录

来自分类Dev

在ASP.NET MVC 5中填充User.Identity

来自分类Dev

评估ASP.NET 5 / MVC6 Identity Custom Profile数据属性

来自分类Dev

在ASP.NET MVC 5 Identity 2.0中使用角色

来自分类Dev

自定义MVC5 ASP.NET Identity中的cookie值

来自分类Dev

asp.net mvc 5 DropDownListFor始终为空

来自分类Dev

Asp.net MVC 5,Identity 2.0无法向用户添加角色

来自分类Dev

在ASP.NET MVC 5中使用Identity框架登录弹出窗口

来自分类Dev

复选框始终绑定为false,即使选中了asp.net mvc 5

来自分类Dev

在MVC 5中的ASP.NET Identity 3上管理自定义用户属性

来自分类Dev

C# ASP.NET Identity 2 (.NET Framework MVC) - 使用权限和角色

来自分类Dev

在 Asp.Net mvc5 Identity 版本 1.0.0 中忘记密码

来自分类Dev

ASP.NET MVC 5 ModelState.IsValid 在 MVC 中总是返回 false

来自分类Dev

ASP.NET MVC 5 - Konscious Security Argon2 GetBytes 方法挂起

Related 相关文章

  1. 1

    获取ASP.NET MVC5 Identity系统中的所有角色名称

  2. 2

    ASP.Net MVC 5 w / identity 2.2.0注销不起作用

  3. 3

    自定义MVC5 ASP.NET Identity中的cookie值

  4. 4

    ASP.NET MVC 5 how to delete a user and its related data in Identity 2.0

  5. 5

    ASP.NET MVC 5如何在Identity 2.0中删除用户及其相关数据

  6. 6

    如何使用MVC5 ASP.NET Identity Framework对SignalR .NET客户端进行身份验证

  7. 7

    使用单个网站进行身份验证的多个MVC5网站(ASP.NET Identity v2)

  8. 8

    如何在ASP.Net MVC Identity 2中更改密码验证?

  9. 9

    将详细信息表读取到ASP.NET MVC 5 Identity 2

  10. 10

    将散列的安全性列添加到ASP.NET Identity(MVC 5)

  11. 11

    使用Unity的MVC5应用程序内部的ASP.Net Identity 2.1

  12. 12

    ASP.NET MVC 5 Identity 2.0,Windows Auth,具有角色属性的用户模型

  13. 13

    基于用户角色的ASP.NET MVC 5 Identity 2登录重定向

  14. 14

    ASP.NET MVC 5 Identity & Securing Folders

  15. 15

    如何在ASP.NET MVC5 Identity 2中添加HTML电子邮件模板以进行电子邮件确认?

  16. 16

    使用ASP.NET Identity 2.0和MVC 5的自定义单点登录

  17. 17

    在ASP.NET MVC 5中填充User.Identity

  18. 18

    评估ASP.NET 5 / MVC6 Identity Custom Profile数据属性

  19. 19

    在ASP.NET MVC 5 Identity 2.0中使用角色

  20. 20

    自定义MVC5 ASP.NET Identity中的cookie值

  21. 21

    asp.net mvc 5 DropDownListFor始终为空

  22. 22

    Asp.net MVC 5,Identity 2.0无法向用户添加角色

  23. 23

    在ASP.NET MVC 5中使用Identity框架登录弹出窗口

  24. 24

    复选框始终绑定为false,即使选中了asp.net mvc 5

  25. 25

    在MVC 5中的ASP.NET Identity 3上管理自定义用户属性

  26. 26

    C# ASP.NET Identity 2 (.NET Framework MVC) - 使用权限和角色

  27. 27

    在 Asp.Net mvc5 Identity 版本 1.0.0 中忘记密码

  28. 28

    ASP.NET MVC 5 ModelState.IsValid 在 MVC 中总是返回 false

  29. 29

    ASP.NET MVC 5 - Konscious Security Argon2 GetBytes 方法挂起

热门标签

归档