2014-11-27 2 views
0

Поскольку мы не имеем UserId в FormsAuthentication Так я хочу передать с it.Here мой кодПередача UserId с UserName в MVC4 FormsAuthentication

public bool IsValid(string email, string password) 
    { 
     bool IsValid = false; 
     var user = db.Users.FirstOrDefault(u => u.Email == email); 

     if (user != null) 
     { 

      if (user.Password == EncryptPassword(password)) 
      { 
       IsValid = true; 

      } 

     } 
     return IsValid; 
    } 
     if (user.IsValid(user.Email, user.Password)) 
      { 

       FormsAuthentication.SetAuthCookie(user.Email + "|" + user.Id, true); 
       return RedirectToAction("Index", "TestValidUser"); 
      } 

Теперь Проблема в том, что user.Id всегда 0 в FormsAuthentication.SetAuthCookie()

Как я могу установить его?

ответ

1
int userId=0; 


public bool IsValid(string email, string password,out int userId) 
    { 

    if (user.Password == EncryptPassword(password)) 
      { 
       IsValid = true; 

       userId= user.Id 
      } 
} 

if (user.IsValid(user.Email, user.Password,userId)) 
      { 

       FormsAuthentication.SetAuthCookie(user.Email + "|" + userId, true); 
       return RedirectToAction("Index", "TestValidUser"); 
      } 
+0

Я не могу передать идентификатор пользователя, если (user.IsValid (user.Email, user.Password, идентификатор пользователя)), у меня нет идентификатора пользователя на этом этапе –

+0

идентификатор пользователя передается как 0, то и получите идентификатор пользователя ˙U want – sakir

+0

Функция return bool, как я могу получить идентификатор пользователя? –