public bool LoginAfterRegistration(Models.RegistrationModel model)
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.email, model.password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(model.email, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId   = user.UserId,
                            Nickname = user.UserName,
                            Email    = user.Email,
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, model.email, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("TicketCookie", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    return(true);
                }
            }

            return(false);
        }
Beispiel #2
0
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(loginView.UserName, loginView.Password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId    = user.UserId,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            RoleName  = user.Roles.Select(r => r.RoleName).ToList()
                        };

                        string userData = JsonSerializer.Serialize(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );
                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    return(RedirectToLocal(ReturnUrl));
                }
            }
            ModelState.AddModelError("", "Login lub hasło nieprawidłowe");
            return(View("Login", loginView));
        }
Beispiel #3
0
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(loginView.UserName, loginView.Password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            ID        = user.UserId,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            RoleName  = user.Roles.Select(r => r.RoleName).ToList()
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else if (user != null)
                    {
                        var roles = user.Roles.Select(r => r.RoleName).ToList();

                        Session["Role"]      = roles.Contains("Admin") ? "Admin" : "NonAdmin";
                        Session["Firstname"] = user.FirstName;
                        Session["Lastname"]  = user.LastName;

                        return(RedirectToAction("EnableSurvey", "FormUpdates"));
                    }

                    View();
                }
            }
            ModelState.AddModelError("", "Something Wrong : Username or Password is invalid");
            return(View(loginView));
        }
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(loginView.UserName, loginView.Password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId    = user.UserId,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            UserCode  = user.UserCode,
                            RoleName  = user.Roles.Select(r => r.RoleName).ToList()
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );
                        long       CurrentUserPID = getCurrentUserPID(userModel);
                        string     enTicket       = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie       = new HttpCookie("Cookie1", enTicket);
                        HttpCookie LoginUser      = new HttpCookie("LoginUserPID", CurrentUserPID.ToString());
                        HttpCookie IsAdmin        = new HttpCookie("IsAdmin", "FALSE");
                        Response.Cookies.Add(faCookie);
                        Response.Cookies.Add(LoginUser);
                        Response.Cookies.Add(IsAdmin);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
            }
            ModelState.AddModelError("", "Something Wrong : Username or Password invalid ^_^ ");
            return(View(loginView));
        }
        public ActionResult Login(Account acc, string ReturnUrl)
        {
            try
            {
                if (Membership.ValidateUser(acc.Email, acc.PassWord))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(acc.Email, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            ID        = user.ID,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            RoleName  = user.Roles.Select(s => s.ID_Role.ToString()).ToList()
                        };

                        userModel.RoleName = db.Roles.Where(S => userModel.RoleName.Contains(S.ID.ToString())).Select(x => x.Role_Name).ToList();

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, acc.Email, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                        Response.Cookies.Add(faCookie);
                    }
                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                return(View("Index"));
            }
            catch (Exception)
            {
                return(View());
            }
        }
Beispiel #6
0
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(loginView.UserName, loginView.Password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId    = user.UserId,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            RoleLib   = user.RoleName/*user.Roles.Select(r => r.RoleName).ToList()*/
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        //return RedirectToAction("Index");
                        //return RedirectToAction("Index", "User");
                        //return RedirectToAction("Admin", "CRA");
                        return(RedirectToAction("Index", "CRA"));
                    }
                }
            }
            //ModelState.AddModelError("", "Quelque chose ne va pas : Username or Password invalid ^_^ ");
            ModelState.AddModelError("", "Quelque chose ne va pas: nom d'utilisateur ou mot de passe invalide ^_^ ");
            return(View(loginView));
        }
Beispiel #7
0
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(loginView.Username, loginView.Password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(loginView.Username, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserID    = user.UserID,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            Role      = user.Role.RoleName
                        };

                        string userData = JsonConvert.SerializeObject(userModel);

                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, loginView.Username, DateTime.Now, DateTime.Now.AddMinutes(15), true, userData);
                        string enTicket   = FormsAuthentication.Encrypt(authTicket);
                        var    authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, enTicket);
                        HttpContext.Response.Cookies.Add(authCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        if (user.Role.RoleName == "Client")
                        {
                            return(RedirectToAction("Index"));
                        }
                        else if (user.Role.RoleName == "Administrator")
                        {
                            return(RedirectToAction("GetOrders", "A_Order", new { area = "" }));
                        }
                    }
                }
            }
            ModelState.AddModelError("", "Username or Password invalid");
            return(View(loginView));
        }
Beispiel #8
0
        public ActionResult Login(string userName, string Password, string ReturnUrl)
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(userName, Password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(userName, false);
                    if (user != null)
                    {
                        Models.CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId    = user.UserId,
                            ClientId  = user.ClientId,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            RoleName  = user.Roles
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, userName, DateTime.Now, DateTime.Now.AddMinutes(160), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(Json(new { redirecturl = "/Client/Client" }, JsonRequestBehavior.AllowGet));
                        //return RedirectToAction("Index", "Home", new { area = "" });
                        //return Redirect("Index");
                    }
                }
            }
            ModelState.AddModelError("loginerror", "Something Wrong : Username or Password invalid ^_^ ");
            return(View());
        }
Beispiel #9
0
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(loginView.UserName, ComputeSha256Hash(loginView.Password)))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId    = user.UserId,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            RoleName  = user.Roles.Select(r => r.RoleName).ToList()
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                        faCookie.Expires = DateTime.Now.AddMinutes(15);
                        Response.Cookies.Add(faCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("LoginSuccess"));
                    }
                }
            }
            ModelState.AddModelError("", "Error : Usuario or Password invalido");
            return(View(loginView));
        }
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(loginView.matriculeUser, HashPassword(loginView.mdpUser)))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(loginView.matriculeUser, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            idUser        = user.idUser,
                            matriculeUser = user.matriculeUser,
                            nomUser       = user.nomUser,
                            prenomUser    = user.prenomUser,
                            nomRoleListe  = user.Roles.Select(r => r.nomRole).ToList()
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, loginView.matriculeUser, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Editique", "ChaabiDoc"));
                    }
                }
            }
            ModelState.AddModelError("", "Matricule ou mot de passe invalides");
            return(View(loginView));
        }
        public ActionResult Login(Models.LoginModel model, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.email, model.password))
                {
                    var user = (CustomMembershipUser)Membership.GetUser(model.email, false);
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId   = user.UserId,
                            Nickname = user.UserName,
                            Email    = user.Email,
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, model.email, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );

                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("TicketCookie", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
            }
            ModelState.AddModelError("", "Ошибка : Email или пароль неверны");
            return(View(model));
        }
Beispiel #12
0
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                var enUser = db.Users.FirstOrDefault(x => x.username == loginView.username && x.password == loginView.password);
                if (enUser != null)
                {
                    var enEmployee = db.Employees.FirstOrDefault(x => x.employeeId == enUser.username);
                    CustomSerializeModel userModel = new Models.CustomSerializeModel()
                    {
                        id    = enUser.id,
                        name  = enUser.name,
                        email = enEmployee != null ? enEmployee.email : string.Empty,
                        role  = enUser.role,
                        EId   = enEmployee != null ? enEmployee.id : 0
                    };
                    string userData = JsonConvert.SerializeObject(userModel);
                    FormsAuthenticationTicket authTicket =
                        new FormsAuthenticationTicket(1, loginView.username, DateTime.Now, DateTime.Now.AddMinutes(30), false, userData);

                    string     enTicket = FormsAuthentication.Encrypt(authTicket);
                    HttpCookie faCookie = new HttpCookie("biscookie", enTicket);
                    Response.Cookies.Add(faCookie);
                }

                if (Url.IsLocalUrl(ReturnUrl))
                {
                    return(Redirect(ReturnUrl));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            ModelState.AddModelError("", "Something Wrong : Username or Password invalid ^_^ ");
            return(View(loginView));
        }
Beispiel #13
0
        public ActionResult Login(LoginModel loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                bool isAdmin = false;
                if (Membership.ValidateUser(loginView.UserName, loginView.Password))
                {
                    if (!CustomerService.IsEmailVerified(loginView.UserName))
                    {
                        ModelState.AddModelError("", "Please verify your Email");
                        return(View(loginView));
                    }
                    var           user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                    List <string> role = new List <string>();
                    foreach (var r in user.Roles)
                    {
                        var rolename = RoleService.GetRoleById(r.RoleId);
                        role.Add(rolename.RoleName);
                        if (rolename.RoleName == "Admin")
                        {
                            isAdmin = true;
                        }
                    }
                    if (user != null)
                    {
                        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                        {
                            UserId    = user.CustomerId,
                            FirstName = user.FirstName,
                            LastName  = user.LastName,
                            RoleName  = role
                        };

                        string userData = JsonConvert.SerializeObject(userModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                               (
                            1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                               );
                        Session["CustomerId"] = userModel.UserId;
                        string     enTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie = new HttpCookie("usercookie", enTicket);
                        Response.Cookies.Add(faCookie);
                    }

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        if (isAdmin)
                        {
                            return(RedirectToAction("Admindashboard", "Dashboard"));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Dashboard"));
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Username or Password invalid");
                }
            }

            return(View(loginView));
        }
Beispiel #14
0
        public ActionResult Login(LoginView loginView, string ReturnUrl = "")
        {
            if (ModelState.IsValid)
            {
                string domain       = WebConfigurationManager.AppSettings["ActiveDirectoryUrl"];
                string ldapUser     = loginView.UserName; // WebConfigurationManager.AppSettings["ADUsername"];
                string ldapPassword = loginView.Password; // WebConfigurationManager.AppSettings["ADPassword"];

                using (DirectoryEntry entry = new DirectoryEntry(domain, ldapUser, ldapPassword))
                {
                    try
                    {
                        if (entry.Guid == null)
                        {
                            ModelState.AddModelError("", "Username or Password invalid.");
                            return(View());
                        }
                        else
                        {
                            if (Membership.ValidateUser(loginView.UserName, loginView.Password))
                            {
                                var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                                if (user != null)
                                {
                                    CustomSerializeModel userModel = new Models.CustomSerializeModel()
                                    {
                                        UserId = user.UserId,
                                        Name   = user.Name,
                                        //LastName = user.LastName,
                                        Roles = user.Roles
                                    };

                                    string userData = JsonConvert.SerializeObject(userModel);
                                    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                                           (
                                        1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                                           );

                                    string     enTicket = FormsAuthentication.Encrypt(authTicket);
                                    HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                                    Response.Cookies.Add(faCookie);
                                }
                            }
                            else
                            {
                                ModelState.AddModelError("", "Sorry your account not register yet in our system, please contact the administrator to register your account.");
                                return(View());
                            }
                        }
                    }
                    catch
                    {
                        ModelState.AddModelError("", "Username or Password invalid");
                        return(View());
                    }
                    //if (Membership.ValidateUser(loginView.UserName, loginView.Password))
                    //{
                    //    var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false);
                    //    if (user != null)
                    //    {
                    //        CustomSerializeModel userModel = new Models.CustomSerializeModel()
                    //        {
                    //            UserId = user.UserId,
                    //            Name = user.Name,
                    //            //LastName = user.LastName,
                    //            Roles = user.Roles
                    //        };

                    //        string userData = JsonConvert.SerializeObject(userModel);
                    //        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                    //            (
                    //            1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                    //            );

                    //        string enTicket = FormsAuthentication.Encrypt(authTicket);
                    //        HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                    //        Response.Cookies.Add(faCookie);
                    //    }

                    if (!string.IsNullOrEmpty(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
            }
            ModelState.AddModelError("", "Something Wrong : Username or Password invalid ^_^ ");
            return(View(loginView));
        }
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            //Check to make sure form is valid.
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            #region GetUserId
            // This entire section is meant to get the UserID. This is done either with the legend or new SHA1 hashing.
            //This is for deprecated SHA1 Hash done on SQL Server
            //Need to get the userID in order to get the User object. There are two ways. The Deprecated way
            //uses the Login_SP_Result stored procedure to send SQL Server model.password, SHA1Hash it there
            //and then compare it to what the data base has. UserForAuth, stores the SHA1Hash directly on the DB.
            //So C# handles model.password SHA1Hashing and then compares it to whats on the DB.

            int userid = 0;

            //Check to see if it's an old password.
            Login_SP_Result legendUserForAuth = context.Login_SP(model.UserName, model.Password).FirstOrDefault();

            if (legendUserForAuth != null)
            {
                //LegendUser exits and the ID can be queried directly.
                userid = legendUserForAuth.ID;
            }
            //It's either an new SHA1 Hash or its just not a valid username.
            else
            {
                //Checks to see if UserName Exists
                var newUserForAuth = db.Users.Where(s => s.UserName == model.UserName).FirstOrDefault();

                if (newUserForAuth != null)
                {
                    //UserName exists
                    if (Hash(model.Password) == newUserForAuth.Password)
                    {
                        //Passwords match
                        userid = newUserForAuth.ID;
                    }
                    else
                    {
                        HttpCookie cookie = new HttpCookie("Cookie1", "");
                        cookie.Expires = DateTime.Now.AddYears(-1);
                        Response.Cookies.Add(cookie);

                        //Passwords don't match TODO: Change to "Invalid Login Attempt"
                        ModelState.AddModelError("", "Invalid Password Attempt.");
                        return(View(model));
                    }
                }
                else
                {
                    HttpCookie cookie = new HttpCookie("Cookie1", "");
                    cookie.Expires = DateTime.Now.AddYears(-1);
                    Response.Cookies.Add(cookie);

                    //UserName Straight up doesn't exist. TODO: Change to "Invalid Login Attempt"
                    ModelState.AddModelError("", "Invalid User Name.");
                    return(View(model));
                }
            }
            #endregion

            #region AuthenticateUser
            User user = await db.Users.FindAsync(userid);

            //User mustchange password, ie it equals Chang3m3
            if (user.MustChange == true)
            {
                return(RedirectToAction("ChangePassword", "Account", new { area = "Identity" }));
            }

            var    licenseclaim  = db.Licenses.Where(s => s.UserID == userid).FirstOrDefault();
            var    ClientID      = licenseclaim.ClientID;
            var    client        = db.Clients.Where(s => s.ID == ClientID).FirstOrDefault();
            long   clientNumber  = client.ClientNumber.Value;
            string clientName    = client.Name;
            var    userRightsId  = licenseclaim.RightsID;
            var    userRight     = db.Rights.Where(s => s.ID == userRightsId).FirstOrDefault();
            string userRightName = userRight.Right1;

            if (getAuthorizedClientList().Contains(clientNumber))
            {
                CustomSerializeModel userModel = new Models.CustomSerializeModel()
                {
                    UserId           = user.ID,
                    UserLicenseRight = clientNumber,
                    RoleName         = userRightName,
                    UserName         = user.UserName
                };


                string userData = JsonConvert.SerializeObject(userModel);
                FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket
                                                       (
                    1, model.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData
                                                       );

                string     enTicket = FormsAuthentication.Encrypt(authTicket);
                HttpCookie faCookie = new HttpCookie("Cookie1", enTicket);
                Response.Cookies.Add(faCookie);

                Debug.WriteLine(clientName);

                var relativePath = "../../Areas/" + clientName + "/Views/Home/Index.cshtml";
                var absolutePath = HttpContext.Server.MapPath(relativePath);

                if (System.IO.File.Exists(absolutePath))
                {
                    return(RedirectToAction("Index", "Home", new { area = clientName }));
                }
                else
                {
                    LogOut();
                    ModelState.AddModelError("", "Something went wrong. Please contact customer support.");
                    return(View(model));
                }
            }

            else
            {
                ModelState.AddModelError("", "Invalid.");
                return(View(model));
            }
            #endregion
        }