我有ASP.NET Core 2.1 MVC应用程序。同样在数据库中,我有1个角色为“ Admin”的用户,但是当我尝试获取数据库中的用户列表时,它返回一个空列表。它通常从“ Roles”和“ UserRoles”表中返回数据,但是看不到任何“用户”表中的数据,因此,我不能使用SignInAsync或PasswordSignInAsync方法。 这是我的dbContext:
` public class AppDbContext : IdentityDbContext<User, Role, string>
{
public AppDbContext(DbContextOptions<AppDbContext> options):base(options)
{
}`
这是我的创业公司:
` services.AddDbContext<AppDbContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});`
services.AddIdentity<User, Role>()
.AddEntityFrameworkStores<AppDbContext>()
.AddDefaultTokenProviders();
...
答案 0 :(得分:0)
发生在我身上的问题如下:
我直接通过实体用户而不是通过UserManager方法中的CreateAsync插入用户。
这绕过了任何计算数据库中的PasswordHash,SecurityStamp和其他字段的例程,因此,PasswordSignInAsync因此无法正常工作。
答案 1 :(得分:0)
确保电子邮件和用户名中的大写字母具有NORMALIZEDUSERNAME和NORMALIZEDEMAIL值。