コード例 #1
0
        public bool IsLoginSuccessful(LoginUserBm bind, string sessionId)
        {
            User wantedUser = Context.Users.FirstOrDefault(user => user.Username == bind.Username && user.Password == bind.Password);

            if (wantedUser == null)
            {
                ErrorBag.Errors.Add(new Error()
                {
                    Message = "<strong>Error!</strong> Invalid Credentials"
                });

                return(false);
            }

            Login currentLogin = new Login()
            {
                User      = wantedUser,
                IsActive  = true,
                SessionId = sessionId
            };

            Context.Logins.Add(currentLogin);
            Context.SaveChanges();

            return(true);
        }
コード例 #2
0
 public bool IsLoginValid(LoginUserBm loginUserBm)
 {
     if (this.data.Users.GetAll().Any(x => x.Email == loginUserBm.Email && x.Password == loginUserBm.Password))
     {
         return(true);
     }
     return(false);
 }
コード例 #3
0
 public bool UserExists(LoginUserBm bind)
 {
     if (this.Context.Users.Any(t => t.Username == bind.Username && t.Password == bind.Password))
     {
         return(true);
     }
     return(false);
 }
コード例 #4
0
        public User LogInUser(LoginUserBm loginBm)
        {
            var userDb = this.users
                         .All()
                         .FirstOrDefault(u => u.Username == loginBm.Username &&
                                         u.Password == loginBm.Password);

            return(userDb);
        }
コード例 #5
0
        public bool UserExist(LoginUserBm loginUserBm)
        {
            if (this.Context.Users.Any(u => u.Username == loginUserBm.Username && u.Password == loginUserBm.Password))
            {
                return(true);
            }

            return(false);
        }
コード例 #6
0
 public User GetUserByLoginBm(LoginUserBm loginUserBm)
 {
     return
         (this.data.Users.GetAll()
          .First(
              x =>
              x.Email == loginUserBm.Email &&
              x.Password == loginUserBm.Password));
 }
コード例 #7
0
        public ActionResult Login(LoginUserBm bind)
        {
            if (this.ModelState.IsValid && this.service.UserExists(bind))
            {
                this.service.LoginUser(bind, this.Session.SessionID);
                this.Response.Cookies.Add(new HttpCookie("sessionId", this.Session.SessionID));
                return(this.RedirectToAction("Profile"));
            }

            return(this.View(new LoginUserVm()));
        }
コード例 #8
0
        public IActionResult Login(HttpResponse response, HttpSession session, LoginUserBm loginUserBm)
        {
            if (!this.service.IsLoginValid(loginUserBm))
            {
                Redirect(response, "/users/login");
                return(null);
            }

            User user = service.GetUserByLoginBm(loginUserBm);

            this.service.LoginUser(user, session);
            Redirect(response, "/home/index");
            return(null);
        }
コード例 #9
0
        public void Login(HttpSession session, HttpResponse response, LoginUserBm bind)
        {
            if (AuthenticationManager.IsUserAuthenticated(session.Id))
            {
                this.Redirect(response, "/home/index");
                return;
            }

            if (this.service.IsLoginSuccessful(bind, session.Id))
            {
                this.Redirect(response, "/home/index");
                return;
            }

            this.Redirect(response, "/users/login");
        }
コード例 #10
0
        public ActionResult Login([Bind(Include = "Username, Password")] LoginUserBm bind)
        {
            var httpCookie = this.Request.Cookies.Get("sessionId");

            if (httpCookie != null && AuthenticationManager.IsAuthenticated(httpCookie.Value))
            {
                return(this.RedirectToAction("All", "Cars"));
            }

            if (this.ModelState.IsValid && this.service.UserExists(bind))
            {
                this.service.LoginUser(bind, Session.SessionID);
                this.Response.SetCookie(new HttpCookie("sessionId", Session.SessionID));
                return(this.RedirectToAction("All", "Cars"));
            }

            return(this.RedirectToAction("Login"));
        }
コード例 #11
0
        public void LoginUser(LoginUserBm bind, string sessionId)
        {
            if (!this.Context.Logins.Any(t => t.SessionId == sessionId))
            {
                this.Context.Logins.Add(new Login()
                {
                    SessionId = sessionId
                });
                this.Context.SaveChanges();
            }

            Login myLogin = this.Context.Logins.FirstOrDefault(l => l.SessionId == sessionId);

            myLogin.IsActive = true;
            User model = this.Context.Users.FirstOrDefault(user => user.Username == bind.Username && user.Password == bind.Password);

            myLogin.User = model;
            this.Context.SaveChanges();
        }
コード例 #12
0
        public bool IsLoginSuccessful(LoginUserBm bind, string sessionId)
        {
            User wantedUser = this.Context.Users.FirstOrDefault(user => user.Email == bind.Email && user.Password == bind.Password);

            if (wantedUser == null)
            {
                return(false);
            }

            Login currentLogin = new Login()
            {
                User      = wantedUser,
                IsActive  = true,
                SessionId = sessionId
            };

            this.Context.Logins.Add(currentLogin);
            this.Context.SaveChanges();
            return(true);
        }
コード例 #13
0
        public ActionResult Login(LoginUserBm loginBm)
        {
            if (UserInfo.IsLogged)
            {
                return(this.RedirectToAction("Index", "Home"));
            }

            var user = this.usersService.LogInUser(loginBm);

            if (user == null)
            {
                return(this.RedirectToAction("Login"));
            }

            UserInfo.IsLogged = user != null;
            UserInfo.Username = loginBm.Username;
            UserInfo.UserId   = user.Id;

            return(this.View("~/Views/Home/Index.cshtml"));
        }
コード例 #14
0
        public void LoginUser(LoginUserBm loginUserBm, string sessionId)
        {
            if (!this.Context.Logins.Any(l => l.SessionId == sessionId))
            {
                Login login = new Login()
                {
                    SessionId = sessionId,
                };
                this.Context.Logins.Add(login);

                this.Context.SaveChanges();
            }
            Login logedUser = this.Context.Logins.FirstOrDefault(l => l.SessionId == sessionId);

            logedUser.IsActive = true;
            User user =
                this.Context.Users.FirstOrDefault(
                    u => u.Username == loginUserBm.Username && u.Password == loginUserBm.Password);

            logedUser.User = user;
            this.Context.SaveChanges();
        }
コード例 #15
0
        public ActionResult Login([Bind(Include = "Username, Password")] LoginUserBm model)
        {
            var httpCookie = this.Request.Cookies.Get("sessionId");

            if (httpCookie != null && AuthenticationManager.IsAuthenticated(httpCookie.Value))
            {
                var user = AuthenticationManager.GetUser(httpCookie.Value);
                ViewBag.Username = user.Username;

                return(this.RedirectToAction("Make", "Cars", new { make = "all" }));
            }

            if (ModelState.IsValid && this.service.IsUserExist(model))
            {
                this.service.LoginUser(this.Session.SessionID, model);
                this.Response.SetCookie(new HttpCookie("sessionId", this.Session.SessionID));
                this.Response.Cookies["sessionId"].Expires = DateTime.Now.AddDays(1);
                return(this.RedirectToAction("Make", "Cars", new { make = "all" }));
            }

            return(this.View());
        }
コード例 #16
0
        public void LoginUser(LoginUserBm bind, string sessionSessionId)
        {
            if (!this.Context.Logins.Any(login => login.SessionId == sessionSessionId))
            {
                this.Context.Logins.Add(new Login()
                {
                    SessionId = sessionSessionId, LoginStamp = DateTime.Now
                });
                this.Context.SaveChanges();
            }

            Login mylogin = this.Context.Logins.FirstOrDefault(login => login.SessionId == sessionSessionId);

            mylogin.IsActive = true;
            User model =
                this.Context.Users.FirstOrDefault(
                    user => user.Username == bind.Username && user.Password == bind.Password);

            model.LastLoginTime = mylogin.LoginStamp;
            mylogin.User        = model;
            this.Context.SaveChanges();
        }
コード例 #17
0
        public void LoginUser(string sessionId, LoginUserBm model)
        {
            if (!this.context.Logins.Any(login => login.SessionId == sessionId))
            {
                this.context.Logins.Add(new Login()
                {
                    SessionId = sessionId
                });
                this.context.SaveChanges();
            }

            var myLogin = this.context.Logins.FirstOrDefault(x => x.SessionId == sessionId);

            myLogin.IsActive = true;

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

            myLogin.User = user;

            this.context.SaveChanges();
        }
コード例 #18
0
 public bool IsUserExist(LoginUserBm model)
 {
     return(this.data.Context.Users.Any(
                x => x.Username == model.Username && x.Password == model.Password));
 }