Пример #1
0
        public async Task <IActionResult> Login(LoginVIewModel model)
        {
            if (ModelState.IsValid)
            {
                var Result = await signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, true);

                if (Result.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));

                    ////Code for users Confirmed by login
                    //var user = await userManager.FindByNameAsync(model.UserName);
                    //if (user.EmailConfirmed)
                    //{
                    //    return RedirectToAction("Index", "Home");
                    //}
                    //else
                    //{
                    //    await signInManager.SignOutAsync();
                    //}
                }
            }

            return(View());
        }
Пример #2
0
        public LoginVIewModel message(LoginIn usuario)
        {
            LoginVIewModel lvm = new LoginVIewModel();
            var            v   = unitOfWork.ConsignatarioRepository.Get(x => x.Email == usuario.Login);

            if (v != null)
            {
                foreach (var item in v)
                {
                    if (!item.isEmailVerified.GetValueOrDefault())
                    {
                        lvm.message = "Please verify your email first";
                    }
                    if (string.Compare(Crypto.Hash(usuario.Password), item.AccessPassword) == 0)
                    {
                        lvm.passHash = 0;
                    }
                    else
                    {
                        lvm.message = "Invalid credential provided";
                    }
                }
            }
            else
            {
                lvm.message = "Invalid credential provided";
            }
            return(lvm);
        }
        public ActionResult AuthenticateUser(User user)
        {
            var manager    = new DBManager("SpoonacularDB");
            var authResult = manager.authenticateUser(user);
            var status     = (AuthStatus)authResult.Status;

            if (status == AuthStatus.UserNotFound)
            {
                Session["userLogInStatus"] = new LoginVIewModel {
                    authStatus = status
                };
                return(RedirectToAction("Login"));
            }
            if (status == AuthStatus.WrongPassword)
            {
                Session["userLogInStatus"] = new LoginVIewModel {
                    Email = user.Email, Name = user.Name, authStatus = status
                };
                return(RedirectToAction("Login"));
            }
            if (status == AuthStatus.Authenticated)
            {
                Session["userLogInStatus"] = new LoginVIewModel {
                    Email = user.Email, Name = user.Name, authStatus = status, UserId = authResult.UserId
                };
                var cookie = new HttpCookie("currentUser", JsonConvert.SerializeObject(Session["userLogInStatus"]));
                cookie.Expires = DateTime.Now.AddMinutes(30);
                HttpContext.Response.Cookies.Add(cookie);
                return(RedirectToAction("Popular", "Food"));
            }
            return(Content("Error :("));
        }
        public ActionResult RegisterUser(User user)
        {
            var manager = new DBManager("SpoonacularDB");
            var userId  = manager.RegisterUser(user);

            Session["userLogInStatus"] = new LoginVIewModel {
                Email = user.Email, Name = user.Name, authStatus = AuthStatus.Authenticated, UserId = userId
            };
            var cookie = new HttpCookie("currentUser", JsonConvert.SerializeObject(Session["userLogInStatus"]));

            cookie.Expires = DateTime.Now.AddMinutes(30);
            HttpContext.Response.Cookies.Add(cookie);
            return(RedirectToAction("Popular", "Food"));
        }
        public async Task <AuthenticatedModel> Auth(LoginVIewModel login)
        {
            var res = await _signInManager.PasswordSignInAsync(login.uname, login.password, login.RememberMe, lockoutOnFailure : true);

            var Am = new AuthenticatedModel();

            Am.sign = res;
            if (res.Succeeded)
            {
                var usr = await _userManager.FindByNameAsync(login.uname.ToUpper());

                Am.name  = usr.Name;
                Am.ID    = usr.Id.ToString();
                Am.uname = usr.UserName;
                Am.role  = usr.IsAdmin ? "Admin" : "User";
            }
            return(Am);
        }
Пример #6
0
        public async Task <IActionResult> Login(LoginVIewModel vm)
        {
            if (ModelState.IsValid)
            {
                var result = await _signInManager.PasswordSignInAsync(vm.Email, vm.Password, vm.RememberMe, false);

                if (result.Succeeded)
                {
                    return(RedirectToAction("index", "Asign"));
                }

                ModelState.AddModelError("", "Invalid Login");
            }



            return(View(vm));
        }
Пример #7
0
        public async Task <IActionResult> Index(LoginVIewModel _user, string returnUrl)
        {
            var usr = await _authenticate.Auth(_user);

            if (usr.sign.Succeeded)
            {
                var claims = new List <Claim>();

                claims.Add(new Claim(ClaimTypes.Name, usr.ID));
                claims.Add(new Claim(ClaimTypes.Surname, usr.name));
                claims.Add(new Claim(ClaimTypes.Role, usr.role));
                var identity = new ClaimsIdentity(
                    claims, CookieAuthenticationDefaults.
                    AuthenticationScheme);

                var principal = new ClaimsPrincipal(identity);

                var props = new AuthenticationProperties();
                props.IsPersistent = _user.RememberMe;

                HttpContext.SignInAsync(
                    CookieAuthenticationDefaults.
                    AuthenticationScheme,
                    principal, props).Wait();

                return(RedirectToAction("", "Home"));
            }
            else if (usr.sign.IsLockedOut)
            {
                ViewBag.err = "User Locked Out for Multiple Wrong Attempts";
                return(View());
            }
            else
            {
                ViewBag.err = "User Name / Password Error";
                return(View());
            }
        }