C# 部署后MVC身份验证失败
我有一个MVC应用程序,它使用密码字段对用户进行身份验证。在本地,它按预期工作,工作流继续执行下一步。当我在IIS服务器中部署代码时,我无法使密码功能正常工作。数据库的连接字符串正在工作,因为我能够将数据保存到数据库中。 我添加了示例代码C# 部署后MVC身份验证失败,c#,asp.net-mvc,visual-studio,validation,asp.net-mvc-4,C#,Asp.net Mvc,Visual Studio,Validation,Asp.net Mvc 4,我有一个MVC应用程序,它使用密码字段对用户进行身份验证。在本地,它按预期工作,工作流继续执行下一步。当我在IIS服务器中部署代码时,我无法使密码功能正常工作。数据库的连接字符串正在工作,因为我能够将数据保存到数据库中。 我添加了示例代码 public ActionResult Authenticate(string password) { try { IdentityTheftEntities context = new
public ActionResult Authenticate(string password)
{
try
{
IdentityTheftEntities context = new IdentityTheftEntities();
Admin user = context.Admins.Where(x => x.Password == password && x.IsActive == true).FirstOrDefault();
if (user != null)
{
Session.Add("userID", user.ID);
}
else
{
ViewBag.errorMessage = "Please put correct password!";
return View("requests");
}
}
catch (Exception ex)
{
ViewBag.errMes = ex.Message.ToString();
}
return RedirectToAction("requests", "home"); ;
}
通过@if(会话[“userID”]!=null)
检查有效性。
当我输入密码并点击submit时,什么也不会发生。
“什么也不会发生”
-如果表单根本没有被提交,那么这听起来像是客户端代码的问题,而不是服务器端代码的问题。@David-如果是这样,代码为什么会在本地工作?只有在部署时才会出现问题。可能还有其他根本原因,那就是修改客户端代码。但问题依然存在。如果表单根本没有发布,那么这个服务器端代码就永远不会被调用。很明显,这不可能是罪魁祸首。您首先需要找到代码失败的地方,然后才能开始更正它。尝试在发布模式下运行项目,这可能是一个javascript问题,因为捆绑包将在发布模式下缩小。如果您有任何javascript错误/问题,您的代码可能无法正常工作,但可以在调试中工作,因为捆绑包是分开的。从edmx文件中删除管理表并更新edmx文件后,问题得到解决。