2013-06-19 4 views
-2

Я пытаюсь сделать простой пользовательский поставщик членства в своем приложении. Я пытаюсь использовать функцию входа в систему для входа в мое приложениемой пользовательский поставщик членства не работает

Что не так с моим кодом? почему не перенаправлять дома?/

[HttpPost] 
public ActionResult Login(string UserName, string UserPassword) 
{ 
    if (Membership.ValidateUser(UserName, UserPassword)) 
    { 
     return RedirectToAction("Index"); 
    } 

    return View(); 
} 

public override bool ValidateUser(string username, string password) 
{ 
    if (username == "admin" && password == "1234") 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 

может кто-то сказать мне, какая часть неправильно ??

+1

Почему вы называете 'Membership.ValidateUser()' дважды? Вы отлаживали свой код? –

+0

мой код работает для проверки имени пользователя и пароля .. но не может перенаправить на индекс, почему? –

+0

Я не уверен, что вы вызываете свою собственную функцию ValidateUser. Оставьте членство. и попробуй еще раз. – Alexander

ответ

0
public override bool ValidateUser(string username, string password) 
     { 

      XNetEntities db = new XNetEntities(); 
      int count = db.Users.Count(r => r.UserName == username && r.UserPassword == password); 
      if (count > 0) 
      { 
       FormsAuthentication.SetAuthCookie(username, true); 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 



[HttpPost] 
     public ActionResult Login(User user) 
     { 
      if (Membership.ValidateUser(user.UserName, user.UserPassword)) 
      { 
       return RedirectToAction("Index"); 
      } 

      return View(user); 
     } 
+0

это ответ –

2

Попробуйте это:

return RedirectToAction("Index", "Home"); 

вместо:

return RedirectToAction("Index"); 
+0

Это то, что я имел в виду, спрашивая, действует ли действие «Индекс» в пределах одного контроллера, чем действие «Вход» ... –

Смежные вопросы