2012-08-07 93 views
0

我工作的這正在形成相當好這個小MVC項目。剛纔我想我會在Internet Explorer中測試它,並且它顯示了一些奇怪的行爲,我不知道在哪裏尋找原因/解決方案。的Internet Explorer無法驗證用戶

它在這裏住:www.begijnhof.net/CodeBox

在火狐,IE我的WP7手機上,在iPhone或Chrome Safari瀏覽器,你註冊/登錄,它把你的網頁,那則說明你在上面多餘的按鍵頁面左側。

在IE中,當你提供正確的憑據(user/user1*),我認爲它驗證,因爲它不顯示任何錯誤,當您提供錯誤的憑據呢。然而,它並不顯示按鈕等

測試它一些它的工作原理後,eventho我刪除所有cookie等,但明天還是這樣就不會再有一段時間工作不久。

任何人都可以點我就這一個正確的方向?謝謝..

好吧,抱歉的是: 我在想第二個問題,錯誤的代碼!所以,在登錄過程如下:

[HttpPost] 
    public ActionResult LogIn(LogOnViewModel model) 
    { 
     if (ModelState.IsValid) 
     { 
      if (members.ValidateUser(model.Username, model.Password)) 
      { 
       FormsAuthentication.SetAuthCookie(model.Username, false); 
       return RedirectToAction("List", "Snippet"); 
      } 

      //Check to see what's wrong 
      if (userRepo.IsUserLockedOut(model.Username)) 
       ModelState.AddModelError("", "Authentication failed!"); 
      if (userRepo.Users.FirstOrDefault(u => u.Username == model.Username) == null) 
       ModelState.AddModelError("", "User does not exists!"); 
      if (!userRepo.IsUserLockedOut(model.Username) && userRepo.Users.FirstOrDefault(u => u.Username == model.Username) != null) 
       ModelState.AddModelError("", "The password is not correct!"); 
      return View(model); 
     } 
     return View(model); 
    } 

編輯:我想我找到什麼導致它,但沒有解決壽。

它的下已經僞裝域名,所以URL始終/ CodeBox,而且會引起一些問題。

+0

如果這是您的問題所在,您應該提供用於驗證和顯示處理的代碼。否則,我們只能猜測問題實際上是什麼。 – Brandon 2012-08-07 15:14:12

+0

顯示/隱藏按鈕的代碼是什麼? – Tommy 2012-08-07 15:14:12

+0

看來,當我在CustomRoleProvider將斷點在我的isUserInRole方法,它沒有到達那裏時,我刷新我的網頁,或瀏覽各地。我正在深入研究這個方向.. – 2012-08-07 15:39:00

回答

0

我認爲這個問題是這樣的:

if (members.ValidateUser(model.Username, model.Password)) 
{ 
    FormsAuthentication.SetAuthCookie(model.Username, false); 
    return RedirectToAction("List", "Snippet"); 
} 

FormsAuthentication.SetAuthCookie第二個參數設置爲false意味着cookie的瀏覽器會話之間不會持續存在。這意味着如果您關閉瀏覽器,則Cookie將被刪除。嘗試將其設置爲true:

if (members.ValidateUser(model.Username, model.Password)) 
{ 
    FormsAuthentication.SetAuthCookie(model.Username, true); 
    return RedirectToAction("List", "Snippet"); 
} 
相關問題