2012-08-07 94 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"); 
} 
相关问题