我试图使一个web应用程序登录。数据库已经存在,所以我使用这里的指令来自定义登录表将被执行。有一个或两个错误,我设法解决(?),现在我被困在这个,我真的不明白它来自哪里。我的上下文是这个
public class ApplicationDbContext : IdentityDbContext<TblAdmin>
{
public ApplicationDbContext()
: base("TelecomConnection", throwIfV1Schema: false)
{
Database.SetInitializer<ApplicationDbContext>(null);
}
public DbSet<TblAdmin> TblAdmins { get; set; }
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<TblAdmin>().ToTable("tblAdmins");
}
}
最相关的问题是这个,但对我没有帮助。当用户提供登录凭据时出现问题,此时编译器在
这一行停止。 var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe,shouldLockout:false);
这个存在的整个方法是:
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:
ModelState.AddModelError("", "Wrong Password.");
return View(model);
default:
ModelState.AddModelError("", "Invalid login attempt.");
return View(model);
}
}
我试着搜索了整个项目,甚至找不到世界"用户"。有人能告诉我怎么解决这个问题吗?
IdentityDbContext<TUser>
已经为TUser
实现了DbSet
:
public IDbSet<TUser> Users { get; set; }
由于这里的TUser
是TblAdmin
(IdentityDbContext<TblAdmin>
),当您添加以下内容时:
public DbSet<TblAdmin> TblAdmins { get; set; }
TblAdmin
现在被两个 DbSet
s跟踪。