Пример #1
0
        public async Task <IActionResult> Login([FromForm] UserLoginQuery request)
        {
            var user = await Mediator.Send(new UserLoginQuery { Username = request.Username, Password = request.Password });

            if (user == null)
            {
                return(RedirectToAction("Login"));
            }
            var claims = new List <Claim> {
                new Claim(ClaimTypes.Name, user.Username),
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimTypes.Role, user.Role.ToString())
            };
            ClaimsIdentity  userIdentity  = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
            ClaimsPrincipal userPrincipal = new ClaimsPrincipal(userIdentity);
            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                userPrincipal, new AuthenticationProperties
            {
                ExpiresUtc   = DateTime.UtcNow.AddMinutes(90),
                IsPersistent = false,
                AllowRefresh = false
            }
                );

            return(RedirectToAction("Index", "Home"));
        }
        public async Task <IResponse <UserDTO> > Handle(UserLoginQuery request, CancellationToken cancellationToken)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(request.UserName) || string.IsNullOrWhiteSpace(request.Password))
                {
                    return(Response <UserDTO> .CreateFail("Invalid Request"));
                }
                var result = await _userRepository.GetUser(request.UserName, request.Password);

                if (result == null)
                {
                    return(Response <UserDTO> .CreateFail("User not Found"));
                }
                if (result.EmployeeId.HasValue)
                {
                    result.EmpCode = (await _employeeRepo.GetEmployeeByID(result.EmployeeId.Value))?.EmpCode ?? "";
                }

                return(Response <UserDTO> .CreateSuccess(result));
            }
            catch (Exception ex)
            {
                return(Response <UserDTO> .CreateFail(ex.Message));
            }
        }
Пример #3
0
        public async Task <IActionResult> AddWallet([FromBody] UserLoginQuery query)
        {
            // simulate log in
            UserLoginQueryResult user = await _mediator.Send(query);

            var auth = Auth.Instance;

            auth.LoggedInUserId = user.Id;

            return(Ok(user));
        }
        public async Task <Response <Users> > Handle(UserLoginQuery request, CancellationToken cancellationToken)
        {
            var user = await _usersRepository.LoginAsync(request.Identifier, request.Credential);

            //登录日志

            if (user == null)
            {
                return(new Response <Users>("User not found."));
            }

            return(new Response <Users>(user));
        }
Пример #5
0
        public async Task <AuthTokenDto> ExecuteQueryAsync(UserLoginQuery query, CancellationToken cancellationToken)
        {
            var user = await _userRepository.GetAsync(x => x.FullPhoneNumber == query.FullPhoneNumber);

            if (user == null)
            {
                return(null);
            }

            if (!_passwordService.VerifyPassword(query.Password, user.PasswordHash, user.PasswordSalt))
            {
                return(null);
            }
            return(new AuthTokenDto("Token üretildi", "tip"));
        }
Пример #6
0
        public async Task <IActionResult> Login([FromBody] LoginModel model)
        {
            var query = new UserLoginQuery
            {
                Email    = model.Email,
                Password = model.Password
            };

            var response = await _mediator.Send(query);

            if (response.Success)
            {
                return(Ok(BaseResponse.Ok(response)));
            }

            return(BadRequest(BaseResponse.Error(response.Message)));
        }
Пример #7
0
        public bool ValidarSeExisteEmail(string email)
        {
            OpenConnection();

            Cmd = new SqlCommand("SELECT * FROM ASPNETUSERS WHERE USERNAME = @email", Con);
            Cmd.Parameters.AddWithValue("@email", email);
            Dr = Cmd.ExecuteReader();

            if (Dr.Read())
            {
                UserLoginQuery usuario = new UserLoginQuery();
                usuario.Email = Convert.ToString(Dr["Email"]);

                return(true);
            }

            CloseConnection();

            return(false);
        }
Пример #8
0
        public async Task <bool> DeletarContaUsuario(string email)
        {
            OpenConnection();

            Cmd = new SqlCommand("DELETE FROM ASPNETUSERS WHERE USERNAME = @email", Con);
            Cmd.Parameters.AddWithValue("@email", email);
            Dr = Cmd.ExecuteReader();

            //verificar se o DataReader obteve algum registro..
            if (Dr.Read())
            {
                UserLoginQuery usuario = new UserLoginQuery();
                usuario.Email = Convert.ToString(Dr["Email"]);

                return(true);
            }

            CloseConnection();

            return(false);
        }
 public async Task <ActionResult <string> > FetchProduct(UserLoginQuery command, CancellationToken cancellationToken)
 {
     return(Ok(await Mediator.Send(command, cancellationToken)));
 }
 public async Task <IResponse <UserDTO> > Login(UserLoginQuery query) => await _mediator.Send(query);
Пример #11
0
        public async Task <IActionResult> Login([FromBody] UserLoginQuery query)
        {
            var result = await QueryProcessor.ProcessAsync(query, CancellationToken.None);

            return(Ok(result));
        }