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 MVC 5 Identity 2登录重定向

来自分类Dev

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

来自分类Dev

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

来自分类Dev

ASP.NET MVC 5 Identity & Securing Folders

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

ASP.NET MVC 5如何在Identity 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 Identity 2.0和MVC 5的自定义单点登录

来自分类Dev

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

来自分类Dev

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

来自分类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,Identity 2.0无法向用户添加角色

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

asp.net mvc 5 DropDownListFor始终为空

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    ASP.NET MVC 5 Identity & Securing Folders

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

    asp.net mvc 5 DropDownListFor始终为空

  28. 28

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

  29. 29

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

热门标签

归档