public ActionResult Login(LoginViewModel loginUser) { if (ModelState.IsValid) { UserViewModel viewModel = new UserViewModel(); CartViewModel cartModel = new CartViewModel(); EncryptCredentials encrypt = new EncryptCredentials(); ModelUser userAccount = new ModelUser(); userAccount = mapper.Map(UsersDAL.GetCredentials(loginUser.Email)); viewModel.SingleUser.Email = loginUser.Email; viewModel.SingleUser.Hash = encrypt.GenerateHash(loginUser.Password, userAccount.Salt); if (loginLogic.ValidatePassword(viewModel.SingleUser.Hash, userAccount.Hash)) { var u = viewModel.SingleUser = mapper.Map(UsersDAL.GetUser(userAccount.UserID)); Session["UserID"] = userAccount.UserID; Session["RoleID"] = userAccount.RoleID; Session["Email"] = userAccount.Email; Session["Name"] = u.FirstName; return(RedirectToAction("Index", "Home")); } } return(View()); }
protected override void ProcessRequest(IMessage message, ITransportHeaders headers, ref Stream stream, ref object state) { if (headers["CustomEncryption"] != null && headers["Credentials"] != null) { var args = new EncryptCredentials(headers["Credentials"].ToString()); User user = new User(); user.Username = string.Format("{0}", args["Username"]); user.Password = string.Format("{0}", args["Password"]); user.AddressTable.Add(user.Username, string.Format("{0}", args["Uri"])); UserDataManager userManager = new UserDataManager(); if (user != null && userManager.UserLogOn(user.Username, user.Password) != null) { // okay Console.WriteLine( "AuthServerSink: retrieved valid credential information: username: {0}, password {1}.", user.Username, user.Password); LoginInfo.Authenticated = true; LoginInfo.LoginName = user.Username; LoginInfo.LoginPassword = user.Password; Console.WriteLine("EncryptServerSink: decrypting request"); stream = this.Decrypt(stream); state = true; return; } } // not good! Console.WriteLine( "DemoCredentialsServerSink: retrieved bad credentials or credentials are missing. Throwing an exception."); throw new RemotingException("Invalid credentials."); }
protected override void ProcessRequest(IMessage message, ITransportHeaders headers, ref Stream stream, ref object state) { if (this.currentCredentials != null) { EncryptCredentials cred = new EncryptCredentials(); cred["Username"] = this.currentCredentials.Username; cred["Password"] = this.currentCredentials.Password; cred["Uri"] = this.currentCredentials.AddressTable[this.currentCredentials.Username.ToString()].ToString(); headers["Credentials"] = cred.ToString(); Console.WriteLine("EncryptClientSink: encrypting request"); stream = this.Encrypt(stream); headers["CustomEncryption"] = "Yes"; } }