コード例 #1
0
        public ActionResult VerifyUser(FormLoginDTO loginForm)
        {
            //receives a username and password
            //call loginservice to check if valid user
            //if yes please give all the detail of this user that enables me to show him his dashboard

            LoginDTO loginDTO = loginService.GetEmployeeLoginByUsernameAndPassword(loginForm.Username, loginForm.Password);

            if (loginDTO == null)
            {
                //invalid user
                ViewBag.ErrorMessage = "Incorrect Username or Password!";
                return(View("Index")); //with error message
            }
            else
            {
                //store in browser session also
                Session["existinguser"] = loginDTO;
                Session["role"]         = loginDTO.RoleId;
                return(RedirectToAction("RedirectToClerkOrDepartmentView"));
            }
        }
コード例 #2
0
        public async Task <object> AuthenticationUser(FormLoginDTO userDTO)
        {
            try
            {
                var result = await userRepository.FindByEmail(userDTO.email);

                if (result != null)
                {
                    if (passwordHelper.VerifyPasswordHash(result.Id, userDTO.password, result.Password))
                    {
                        return(new LoginDTO(jwtHelper.GenerateJWT(result.Name == "" || result.Name == null ? result.Email : result.Name, result.Role), true));
                    }
                    else
                    {
                        return(new
                        {
                            success = false,
                            message = "Oops, e-mail ou senha incorreto."
                        });
                    }
                }
                else
                {
                    return(new
                    {
                        success = false,
                        message = "Oops, e-mail ou senha incorreto."
                    });
                }
            }catch (Exception ex)
            {
                return(new
                {
                    success = false,
                    message = "Oops, ocorreu um erro no servidor, tente novamente mais tarde."
                });
            }
        }
コード例 #3
0
        public async Task <object> Login([FromBody] FormLoginDTO user)
        {
            try
            {
                dynamic result = await userService.AuthenticationUser(user);

                if (result.success)
                {
                    return(result);
                }
                else
                {
                    return(BadRequest(result));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new
                {
                    success = false,
                    message = "Oops, esse e-mail não existe em nossa base de dados."
                }));
            }
        }