2013-05-01 3 views
1

У меня есть проект с ASP.NET MVC4, и мне нужно войти в систему и сохранить текущую информацию пользователя, такую ​​как идентификатор, его имя и т. Д., Чтобы использовать их на других страницахАутентификация + Сохранение пользователя сеанса ASP.NET

[HttpPost] 
    public ActionResult Auth(string login, string password) 
    { 
     // Customer c = null; 
     Customer cus = (from e in db.Customers where e.Login == login && e.Password == password select e).SingleOrDefault(); 
     if (cus != null) 
     { 


      //String s = User.Identity.Name; 
      return RedirectToAction("Index"); 
     } 
     else return RedirectToAction("Error"); 
    } 

Я думаю, мне нужен только код сеанса, поэтому, пожалуйста, кто-нибудь может мне помочь?

+4

Вы могли бы посмотреть, как это было сделано сгенерированным кодом в контроллере учетной записи, который поставляется с пустым проектом. Он использует класс FormsAuthentication – codingbiz

ответ

0

В MVC4 вы можете использовать knockoutjs и breeze, используя возможность передать значение из одного вида в другое в виде контекста и получить это значение при активации вида.

пожалуйста просмотреть это link для ветерка

0

Я думаю, вы могли бы сделать что-то вроде этого:

Customer cus = (from e in db.Customers where e.Login == login && e.Password == password select e).SingleOrDefault(); 
    if (cus != null) 
    { 
     // the boolean is for creating a persistent cookie 
     // also after this point User.Identity.Name should be == login 
     FormsAuthentication.SetAuthCookie(login, true); 

     // store more info in session and access it in other places 
     Session["Customer"] = cus; 

     //String s = User.Identity.Name; 
     return RedirectToAction("Index"); 
    } 

, что сказал, что это не очень хорошая идея для хранения конфиденциальной информации пользователя в Session последний раз я проверил Захват сеанса ASP.NET был по-прежнему. Храните только то, что вам нужно. Надеюсь это поможет.

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