public IHttpResponse PostLogin(DoLoginViewModel model) { model.Password = this.hashService.Compute256Hash(model.Password); if (!(this.Context.Users.Any(user => (user.Username == model.UsernameOrEmail.Trim() || user.Email == model.UsernameOrEmail.Trim()) && user.Password == model.Password))) { GetLoginViewModel viewModel = new GetLoginViewModel() { ErrorMessage = InvalidLoginInformationMessage }; return(this.View("Login", HttpResponseStatusCode.BadRequest, viewModel)); } else { string username = this.Context .Users .Where(user => user.Username == model.UsernameOrEmail.Trim() || user.Email == model.UsernameOrEmail.Trim()) .First() .Username; var viewModel = model.To <DoLoginViewModel>(); HttpCookie cookie = new HttpCookie(AuthenticationCookieKey, this.UserCookieService.EncryptString(username, EncryptKey)); this.Request.Cookies.Add(cookie); this.Response.Cookies.Add(cookie); return(this.View("Logged", HttpResponseStatusCode.Ok, viewModel)); } }
public IHttpResponse GetLogin() { if (this.Request.Cookies.ContainsCookie(AuthenticationCookieKey)) { string cookieValue = this.Request.Cookies.GetCookie(AuthenticationCookieKey).Value; string username = this.UserCookieService.DecryptString(cookieValue, EncryptKey); Dictionary <string, string> loggedInReplaceParameters = new Dictionary <string, string>() { { "{{{name}}}", username } }; return(this.View("Logged", HttpResponseStatusCode.Ok, loggedInReplaceParameters)); } GetLoginViewModel viewModel = new GetLoginViewModel() { ErrorMessage = string.Empty }; return(this.View("Login", HttpResponseStatusCode.Ok, viewModel)); }