为什么登录尝试在PasswordSignInAsync方法(ASP.NET)中返回{NotAllowed}



我在ASP中使用了一个标识。NET项目,它自动创建了登录和注册功能,我可以很好地注册到网站,注册后帐户会登录,我可以使用我创建的所有功能,但如果我注销并尝试再次登录到同一帐户,登录过程总是失败。帐户存储在数据库中,如下所示https://i.imgur.com/M1EbfGj.png

我没有更改visual studio 2019制作的代码,经过调试,我只知道密码被正确地传递到了数据库,但结果显示为{NotAllowed},发生这种情况的行是

var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure: false);

如果有人想看整个项目,可以在https://github.com/Alysty/TaskManager

最有可能是您的问题的文件:TaskManager/TaskManager/Areas/IdentityHostingStartup.cs

位置要求在以下行中确认帐户:

services.AddDefaultIdentity<TaskManagerUser>(options => options.SignIn.RequireConfirmedAccount = true)

我的猜测是,你的帐户没有得到确认,所以你需要确认它或删除这个限制。

using System;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.UI;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using TaskManager.Areas.Identity.Data;
using TaskManager.Data;
[assembly: HostingStartup(typeof(TaskManager.Areas.Identity.IdentityHostingStartup))]
namespace TaskManager.Areas.Identity
{
public class IdentityHostingStartup : IHostingStartup
{
public void Configure(IWebHostBuilder builder)
{
builder.ConfigureServices((context, services) => {
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
context.Configuration.GetConnectionString("ApplicationDbContextConnection")));
services.AddDefaultIdentity<TaskManagerUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();
});
}
}
}

相关内容

  • 没有找到相关文章

最新更新