После проверки учетных данных пользователя вы можете получить такой код:
public void SignIn(string userName, bool createPersistentCookie)
{
int timeout = createPersistentCookie ? 43200 : 30; //43200 = 1 month
var ticket = new FormsAuthenticationTicket(userName, createPersistentCookie, timeout);
string encrypted = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
cookie.Expires = System.DateTime.Now.AddMinutes(timeout);
HttpContext.Current.Response.Cookies.Add(cookie);
}
Итак, ваш код может быть таким:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogOn(string userName, string passwd, bool rememberMe)
{
//ValidateLogOn is your code for validating user credentials
if (!ValidateLogOn(userName, passwd))
{
//Show error message, invalid login, etc.
//return View(someViewModelHere);
}
SignIn(userName, rememberMe);
return RedirectToAction("Home", "Index");
}
В последующих запросах от вошедшего в систему пользователя HttpContext.User.Identity.Name должен содержать имя пользователя вошедшего в систему пользователя.
Привет!