2015-08-23 39 views
2

我注意到在調試模式下的本地主機當調用鏈接http://localhost:56881/CPanel/login?role=form 它通常返回登錄視圖。Asp.net mvc項目在發佈asp.net mvc項目後給我內部服務器錯誤

但在發佈時試圖呼叫http://domainname.com/CPanel/login?role=form 它給了我500 - 內部服務器錯誤。

//Login Action >> CPanel Controller 
public ActionResult login() 
{ 
    return View(); 
} 

[HttpPost] 
public ActionResult login(FormCollection customer, string ReturnUrl) 
{ 
    ViewBag.isError = false; 
    if (Session["SystemAdmin"] == null) 
    { 
     var u = new Egx.EgxBusiness.Inventory.User() { USER_NAME = customer["EMAIL_ADDR"] }.Search(); 
     Crypto.VerifyHashedPassword(u[0].PASSWORD, customer["password"]); 
     if (u.Count > 0 && Crypto.VerifyHashedPassword(u[0].PASSWORD, customer["password"])) 
     { 
      var c = new Customers() { EMAIL_ADDR = customer["EMAIL_ADDR"] }.Search(); 
      FormsAuthentication.SetAuthCookie(c[0].CUST_NAME, false); 
      Session["_customer"] = c[0]; 
      if (Url.IsLocalUrl(ReturnUrl) && ReturnUrl.Length > 1 && ReturnUrl.StartsWith("/") 
       && !ReturnUrl.StartsWith("//") && !ReturnUrl.StartsWith("/\\")) { return Redirect(ReturnUrl); } 
      else 
      { 
       return RedirectToAction("Index"); 
      } 
     } 
     else 
     { 
      ViewBag.isError = true; 
      return View(); 
     } 
    } 
    else 
    { 
     var c = new Customers() { EMAIL_ADDR = customer["EMAIL_ADDR"] }.Search(); 
     if (c.Count == 0) { c = new Customers() {CUST_CODE=customer["EMAIL_ADDR"] }.Search(); } 
     if (c.Count > 0) 
     { 
      Session["_customer"] = c[0]; 
       return RedirectToAction("Index"); 
     } 
     else 
     { 
      ViewBag.isError = true; 
      return View(); 
     } 
    } 
} 

登錄查看

@using (Html.BeginForm("login", "CPanel", new { ReturnUrl = Request.QueryString["ReturnUrl"], role = "form" })) 
{ 
    if (Request.QueryString["r"] != null) { <input type="hidden" value="@Request.QueryString["r"]" name="r"/> } 
     <div class="form-group"> 
      <input class="form-control" placeholder="E-mail" name="EMAIL_ADDR" type="text" autofocus> 
     </div> 
     <div class="form-group"> 
      <input class="form-control" placeholder="Password" name="password" type="password" value="" @Html.Raw(EgxNMWeb.AuthSystemAdmin.isSystemAdmin()? "disabled":string.Empty)> 
     </div> 
     <div class="checkbox"> 
      <label> 
       <input name="remember" type="checkbox" value="Remember Me">Remember Me 
      </label> 
     </div> 
     <!-- Change this to a button or input when using this as a form --> 
     <input type="submit" value="Login" class="btn btn-lg btn-success btn-block" /> 
     @Html.Raw(EgxNMWeb.AuthSystemAdmin.isSystemAdmin()? "<a href="+Url.Action("Index","Finance")+">ماليات</a>":string.Empty) 
} 
+0

做任何其他網頁正常工作? – Shimmy

+0

是每一件事情變細 –

回答

0

試着做一個乾淨的解決方案,並重新構建它併發布。另外,將自定義錯誤模式設置爲關閉。如果你能給我們一個特定的錯誤,我們可能會幫助你更多。還要確保本地計算機上的身份驗證模式與您正在發佈的服務器上的身份驗證模式相匹配。

+0

我試圖清理解決方案的重建,但沒有改變:( –

+0

我注意到RETURNURL不遠程服務器上工作,但在本地主機! –

+0

你更改自定義錯誤模式在你的網頁能正常工作配置文件?這應該給你一個更具體的錯誤,請嘗試這一點,讓我知道具體是什麼錯誤。 – user3587180