예제 #1
0
        public IHttpResponse DoLogin(DoLoginInputModel model)
        {
            var userName = model.Username.Trim();
            var password = model.Password;

            var hashedPass = this.hashService.Hash(password);

            var user = this.db.Users.FirstOrDefault(u => u.Username == userName && u.Password == hashedPass);

            if (user == null)
            {
                return(this.BadRequestError("Invalid username or password"));
            }

            ;
            var cookieContent = this.UserCookieService.GetUserCookie(user.Username);

            var cookie = new HttpCookie(".auth-cakes", cookieContent, 7)
            {
                HttpOnly = true
            };

            this.Response.Cookies.Add(cookie);

            return(this.Redirect("/"));
        }
예제 #2
0
        public IHttpResponse Login(DoLoginInputModel model)
        {
            var hashedPassword = this.hashService.Hash(model.Password);

            var user = this.Db.Users.FirstOrDefault(x =>
                                                    x.Username == model.Username.Trim() &&
                                                    x.Password == hashedPassword);

            if (user == null)
            {
                return(this.BadRequestErrorWithView("Invalid username or password."));
            }

            var mvcUser = new MvcUserInfo {
                Username = user.Username, Role = user.Role.ToString(), Info = user.Email
            };
            var cookieContent = this.UserCookieService.GetUserCookie(mvcUser);

            var cookie = new HttpCookie(".auth-cakes", cookieContent, 7)
            {
                HttpOnly = true
            };

            this.Response.Cookies.Add(cookie);
            return(this.Redirect("/"));
        }
예제 #3
0
        public IHttpResponse Index()
        {
            if (this.IsAuthenticated())
            {
                var username = this.Request.Session.GetParameter("username");
                var model    = new DoLoginInputModel
                {
                    Username = username.ToString()
                };
                return(this.View("Welcome", model));
            }

            return(this.View("Index"));
        }
예제 #4
0
        public IHttpResponse Login(DoLoginInputModel loginInputModel)
        {
            var hashPassword = this.HashPassword(loginInputModel.Password);

            var user = this.Db.Users.FirstOrDefault(x => x.Username == loginInputModel.Username &&
                                                    x.Password == hashPassword);

            if (user == null)
            {
                return(this.Redirect("/Users/Login"));
            }
            this.SignIn(user.Id.ToString(), user.Username, user.Email);

            return(this.Redirect("/"));
        }
        public IHttpResponse DoLogin(DoLoginInputModel model)
        {
            var hashedPassword = this.hashService.Hash(model.Password);
            //1.Validate user exist and pass is correct
            var user = this.Db.Users.FirstOrDefault(u => u.Username == model.Username.Trim() && u.Password == hashedPassword);

            if (user == null)
            {
                return(this.BadRequestError("Invalid username or password"));
            }

            //2.Save session/cookie with the user
            this.SignInUser(user);

            //4. REDIRECT TO HOME PAGE
            return(this.Redirect("/"));
        }
예제 #6
0
        public IHttpResponse Login(DoLoginInputModel model)
        {
            var hashedPassword = this.hashService.Hash(model.Password);
            var user           = this.Db.Users.FirstOrDefault(x => x.Username == model.Username.Trim() &&
                                                              x.Password = hashedPassword);

            if (user == null)
            {
                return(this.BadRequestErrorWithView("Invalid username or password!"));
            }
            var mvcUser = new MvcUserInfo
            {
                Username = user.Username,
                Role     = user.Role.ToString(),
                Info     = user.FullName
            };
            var cookieContent = this.UserCookieService.GetUserCookie
        }
예제 #7
0
        public IHttpResponse DoLogin(DoLoginInputModel model)
        {
            var hashedPassword = this.hashService.Hash(model.Password);

            //1.Validate user exist and pass is correct
            var user = this.Db.Users.FirstOrDefault(u => u.Username == model.Username.Trim() && u.Password == hashedPassword);

            if (user == null)
            {
                return(this.BadRequestError("Invalid username or password"));
            }

            //2.Save cookie/session with the user
            var mvcUser = new MvcUserInfo {
                Username = user.Username
            };
            var cookieContent = this.UserCookieService.GetUserCookie(mvcUser);

            this.Response.Cookies.Add(new HttpCookie(".auth-app", cookieContent, 7));

            //4. REDIRECT TO HOME PAGE
            return(this.Redirect("/"));
        }