Exemplo n.º 1
0
        public async Task <IActionResult> Login([FromBody] LoginRequestModel model)
        {
            model.Validate();
            var result = await _authManager.Login(model.Email, model.Password);

            return(Ok(new ResponseModel <LoginResponseModel>
            {
                RequestSuccessful = true,
                ResponseCode = ResponseCodes.Successful,
                Message = "Login Successful.",
                ResponseData = result
            }));
        }
Exemplo n.º 2
0
        /// <summary>
        /// zkontroluje uzivatele
        /// </summary>
        /// <param name="model">prijate informace o uzivateli</param>
        /// <returns></returns>
        public async Task <BaseResponseModelGet <UserIdentityModel> > CheckUser(LoginRequestModel model)
        {
            var result = new BaseResponseModelGet <UserIdentityModel> {
                Value = new UserIdentityModel()
            };

            if (model.Validate())
            {
                model.Username = model.Username.Trim();
                model.Password = model.Password.Trim();

                User user = await Database.User.Include(u => u.UserRole).AsNoTracking().FirstOrDefaultAsync(u => u.Username == model.Username);

                if (user != null)
                {
                    if ((user.UseLdaplogin && await CheckLdapLogin(user.LdapUrl, model.Username, model.Password)) || ComparePasswords(user, model.Password))
                    {
                        await CreateUserSession(user, result.Value);
                    }
                    else
                    {
                        result.Success = false;
                        result.Message = "Incorrect credentials!";
                    }
                }
                else
                {
                    result.Success = false;
                    result.Message = "Unknown credentials!";
                }
            }
            else
            {
                result.Success = false;
                result.Message = "Enter username and password!";
            }

            return(result);
        }