我的代码在我自己的机器和另一台VM上工作得很好。现在,我已将其部署在Azure VM上(不是通过发布,而是通过简单地复制和创建虚拟目录)。现在当我尝试登录时
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
try
{
System.Web.HttpContext.Current.Session["SchoolCode"] = model.SchoolCode;
logger.Debug("assigning school code [" + model.SchoolCode + "] to session, password: " + model.Password);
var user = await UserManager.FindAsync(model.Username, model.Password);
logger.Debug("is school code valid: ");
if (user != null && isSchoolCodeValid(model.SchoolCode))
{
await SignInAsync(user, model.RememberMe);
return RedirectToLocal(returnUrl);
}
else if(user == null)
{
ModelState.AddModelError("", "Invalid username or password.");
}
else
{
ModelState.AddModelError("", "Invalid School Code.");
}
}
catch (Exception e) {
logger.Error(e.Message);
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
我的日志文件只显示第一个日志,然后没有任何反应
2017-09-27 09:41:56,915 [16]调试 - 将学校代码[sc002]分配给 会话
答案 0 :(得分:0)
所以,我的问题与我的想法完全不同。
首先,我增加了日志记录但是我的iis选择了缓存版本,这就是我无法查看日志的原因。在我能够看到日志中的错误后,它说
字符串未被识别为有效的布尔值
由于数据库 aspnetusers 表,我花了一段时间才意识到这个错误。我将 EmailConfirmed 从 0 更改为错误,这解决了问题!