public void Should_not_have_error_when_email_is_null_but_usernames_are_enabled()
        {
            _customerSettings = new CustomerSettings();
            _customerSettings.UsernamesEnabled = true;
            _validator = new LoginValidator(_localizationService, _customerSettings);

            var model = new LoginModel();
            model.Email = null;
            _validator.ShouldNotHaveValidationErrorFor(x => x.Email, model);
        }
Ejemplo n.º 2
0
        public ResultModel <Login> Login(Login p)
        {
            LoginValidator validator = new LoginValidator();
            var            result    = validator.Validate(p);

            if (result.IsValid)
            {
                _loginRepo.Add(p);
                _loginRepo.Save();

                return(new ResultModel <Login>
                {
                    Errors = null,
                    IsValid = true,
                    Message = "Kayıt Başarılı"
                });
            }
            return(new ResultModel <Login>
            {
                Errors = result.Errors.Select(x => x.ErrorMessage).ToList(),
                IsValid = false,
                Message = "Giriş Başarısız"
            });
        }
Ejemplo n.º 3
0
        public ActionResult Login(LoginModel model, string returnUrl, string rememberme)
        {
            ModelState.Remove("AttemptCount");
            if (model.AttemptCount <= 1)
            {
                ModelState["CaptchaInputText"].Errors.Clear();
            }
            model.AttemptCount = model.AttemptCount + 1;
            FluentValidation.IValidator <LoginModel> validator = new LoginValidator();
            var validationResults = validator.Validate(model);

            foreach (var item in validationResults.Errors)
            {
                ModelState.AddModelError(item.PropertyName, item.ErrorMessage);
            }
            if (ModelState.IsValid)
            {
                model.Username = model.Username.Trim();
                model.Password = model.Password.Trim();

                try
                {
                    UserApiResult result = _webClient.UploadData <UserApiResult>("logincloud", model);
                    int           status = result.Status;
                    switch (status)
                    {
                    case 1:
                        var customer = result.User;
                        customer.SchoolId = result.User.SchoolId;
                        _authService.SignIn(customer, rememberme != null?true:false);
                        model.IsAuthenticated = true;
                        if (customer.Role.Equals("schooladmin", StringComparison.InvariantCultureIgnoreCase))
                        {
                            return(RedirectToRoute("SchoolAdmin", new { schooluid = customer.SchoolUId }));
                        }
                        if (String.IsNullOrEmpty(returnUrl) || !Url.IsLocalUrl(returnUrl))
                        {
                            return(RedirectToRoute("HomePage"));
                        }

                        return(Redirect(returnUrl));

                    case 3:
                        ModelState.AddModelError("", Resource.PopupLogin_NoAccountError);
                        model.HasError = true;
                        break;

                    case 4:
                        ModelState.AddModelError("", Resource.PopUpLogin_wrongCredentials);
                        model.HasError = true;
                        break;

                    case 6:
                        ModelState.AddModelError("", Resource.Login_Accnotactive);
                        model.HasError = true;
                        break;

                    case 7:
                        ModelState.AddModelError("", Resource.Login_Accdisabled);
                        model.HasError = true;
                        break;

                    case 8:
                        ModelState.AddModelError("", Resource.Login_StudentsNotAllowedlogin);
                        model.HasError = true;
                        break;

                    default:
                        ModelState.AddModelError("", Resource.PopUpLogin_unknownError);
                        model.HasError = true;
                        break;
                    }
                }
                catch (WebException)
                {
                    ModelState.AddModelError("", Resource.PopUpLogin_NetError);
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }
            return(View(model));
        }
Ejemplo n.º 4
0
 public LoginController(LoginValidator loginValidator)   // for testing
 {
     _loginValidator = loginValidator;
 }
Ejemplo n.º 5
0
 public void Setup()
 {
     _validator = GetService <LoginValidator>();
 }
Ejemplo n.º 6
0
        private async void SignIn()
        {
            if (View != null)
            {
                View.HideKeyboard();
            }

            LoginValidator validator = new LoginValidator();

            Login login = new Login
            {
                Email    = Email,
                Password = Password,
            };

            var result = validator.Validate(login);

            if (result.IsValid)
            {
                mPlatformService.ShowNetworkIndicator();
                mProgressDialogService.ShowProgressDialog();

                var response = await mApiService.PostLogin(login.Email, login.Password);

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var userData = response.Data;
                    mCacheService.CurrentUserData = userData;
                    mApiService.UseBeaerToken     = true;

                    // get user key

                    //mPlatformService.ShowNetworkIndicator();
                    //mProgressDialogService.ShowProgressDialog();

                    var response2 = await mApiService.PostSession(mPlatformService.GetDeviceUDID(), userData.UserName);

                    //mPlatformService.HideNetworkIndicator();
                    //mProgressDialogService.HideProgressDialog();

                    if (response2.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        userData.UserKey = response2.Data;
                        mCacheService.CurrentUserData = userData;

                        await GetProfile();

                        ShowViewModel <MainViewModel>();
                    }
                    else
                    {
                        mApiService.UseBeaerToken = false;
                    }
                }
                else
                {
                    mPlatformService.HideNetworkIndicator();
                    mProgressDialogService.HideProgressDialog();

                    if (!string.IsNullOrEmpty(response.ErrorData))
                    {
                        string             errorData = response.ErrorData;
                        ErrorLoginResponse err       = JsonConvert.DeserializeObject <ErrorLoginResponse>(errorData);
                        mMessageboxService.ShowToast(err.Description);
                    }
                }
            }
            else if (result.Errors != null)
            {
                var firstError = result.Errors.First();
                mMessageboxService.ShowToast(firstError.ErrorMessage);
            }
        }
Ejemplo n.º 7
0
 public LoginValidatorTest()
 {
     _sut = new LoginValidator();
 }
Ejemplo n.º 8
0
 public void TestSeup()
 {
     loginValidator = new LoginValidator();
 }
Ejemplo n.º 9
0
 public new void Setup()
 {
     _customerSettings = new CustomerSettings();
     _validator        = new LoginValidator(_localizationService, _customerSettings);
 }
Ejemplo n.º 10
0
 public LoginViewModel(IMediator mediator) : base(new LoginValidator())
 {
     this.mediator = mediator;
     Validator     = new LoginValidator();
     SetupForValidationRef(Username, Password);
 }
Ejemplo n.º 11
0
 public new void Setup()
 {
     _userSettings = new UserSettings();
     _validator    = new LoginValidator(_userSettings);
 }
Ejemplo n.º 12
0
        public ValidationResult GetValidationResult(LoginActor model)
        {
            var validator = new LoginValidator(_repository);

            return(validator.Validate(model));
        }
Ejemplo n.º 13
0
 public new void Setup()
 {
     _customerSettings = new CustomerSettings();
     _validator = new LoginValidator(_localizationService, _customerSettings);
 }
Ejemplo n.º 14
0
 public async Task <IActionResult> Login(LoginValidator data)
 {
     return(await _login.login(data));
 }
Ejemplo n.º 15
0
        public HttpResponseMessage GetUser([FromBody] LoginView loginView)

        {
            List <string>   errorlist       = null;
            UserDetailsView userDetailsView = null;
            int             code            = (int)HttpStatusCode.OK;

            try
            {
                LoginValidator   validator           = new LoginValidator();
                ValidationResult results             = validator.Validate(loginView);
                bool             validationSucceeded = results.IsValid;
                if (validationSucceeded)
                {
                    Userservice userservice = new Userservice();
                    userDetailsView = userservice.GetUserWithDogs(loginView.UserEmail, loginView.UserPassword);
                    if (userDetailsView != null)
                    {
                        code = (int)HttpStatusCode.OK;
                    }
                    else
                    {
                        code = (int)HttpStatusCode.BadRequest;
                    }


                    //  return Ok();
                }
                else
                {
                    code = (int)HttpStatusCode.BadRequest;

                    errorlist = new List <string>();
                    foreach (var value in results.Errors)
                    {
                        errorlist.Add(value.ErrorCode);
                        //errorlist.Add(value.Errors);
                    }
                    //actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest, errorlist);
                    //IList<ValidationFailure> failures = results.Errors;
                    //List<string> errorlist = new List<string>();
                    //foreach (ValidationFailure _error in failures)
                    //{
                    //    ModelState.AddModelError(_error.PropertyName, _error.ErrorMessage);
                    //    //foreach (var error in value.Errors)
                    //    //  errorlist.Add(value.ErrorMessage);
                    //    //errorlist.Add(value.Errors);
                    //}
                    //   return
                    //  return new System.Web.Http.Controllers.HttpActionContext()
                    //HttpActionContext actionContext = new HttpActionContext();


                    // ThrowResponseException(HttpStatusCode.NotAcceptable, errorlist);
                }
                if ((HttpStatusCode)code == HttpStatusCode.OK)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, userDetailsView));
                }
                else
                {// return Request.CreateResponse(HttpStatusCode.BadRequest, errorlist);
                    return(Request.CreateResponse(code));
                }
            }

            catch
            {
                bool x = ModelState.IsValid;
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
Ejemplo n.º 16
0
        //  [ValidateAntiForgeryToken]
        public JsonResult Login(LoginViewModel model)
        {
            LoginValidator   validationRules  = new LoginValidator();
            ValidationResult validationResult = validationRules.Validate(model);

            if (!validationResult.IsValid)
            {
                IList <ValidationFailure> failures = validationResult.Errors;
                return(Json(new { code = -1, url = "", msg = "数据不合法" }));
            }

//            if (!ModelState.IsValid)
//            {
//                //  return View(model);
//                return Json(new { code = -1, url = "", msg = "数据不合法" });
//            }
            if (model.UserCode.Trim() == "admin" && model.Password.Trim() == "pass")
            {
                var authTicket = new FormsAuthenticationTicket(1, model.UserCode, DateTime.Now,
                                                               DateTime.Now.AddMinutes(20), false, JsonConvert.SerializeObject(new T_Sys_Role {
                    usercode = "admin", role = "123"
                }));

                string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                var    authCookie      = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket)
                {
                    HttpOnly = true,
                    Secure   = FormsAuthentication.RequireSSL,
                    Domain   = FormsAuthentication.CookieDomain,
                    Path     = FormsAuthentication.FormsCookiePath,
                    Expires  = DateTime.Now.AddMinutes(20)
                };
                //客户端脚本不能访问
                //是否仅用https传递cookie
                //与cookie关联的域
                //cookie关联的虚拟路径
                HttpContext context = System.Web.HttpContext.Current;
                if (context == null)
                {
                    throw new InvalidOperationException();
                }

                // 5. 写登录Cookie
                context.Response.Cookies.Remove(authCookie.Name);
                context.Response.Cookies.Add(authCookie);
                Response.Cookies.Add(authCookie);
                //HttpContext.User = new MyFormsPrincipal<T_Sys_User>(authTicket, new T_Sys_User() { UserCode = model.UserCode });
                //FormsAuthentication.SetAuthCookie(model.UserCode, true);

                //                if (Url.IsLocalUrl(returnUrl))
                //                {
                //                    return Redirect(returnUrl);
                //                }

                //  return RedirectToAction("Index", new RouteValueDictionary(new { controller = "Home", action = "Index" }));
                System.Web.HttpContext.Current.Session["user_account"] = new T_Sys_User {
                    UserCode = "admin"
                };
                return(Json(new { code = 0, url = "/Home/IndexNew", msg = "" }));
            }
            else
            {
                var pwd = Encryptor.Md5Hash(model.Password);
                //根据用户登录名查询指定用户实体
                var user = UserBll.LoadEntities(t => t.UserCode == model.UserCode && t.Password == pwd).FirstOrDefault();

                //如果用户不存在,则携带错误消息并返回登录页面
                if (user == null)
                {
                    //ModelState.AddModelError("error_message", "用户不存在");
                    //return View(model);
                    return(Json(new { code = "-1", url = "", msg = "用户不存在" }));
                }

                //如果密码不匹配,则携带错误消息并返回登录页面
                if (user.Password != Encryptor.Md5Hash(model.Password.Trim()))
                {
                    //                    ModelState.AddModelError("error_message", "密码错误,请重新登录");
                    //                    return View(model);
                    return(Json(new { code = "-2", url = "", msg = "密码错误,请重新登录" }));
                }
                FormsAuthentication.SetAuthCookie(user.UserCode, true);
                //将用户实体保存到Session中
                System.Web.HttpContext.Current.Session["user_account"] = user;
                return(Json(new { code = 0, url = "/Home/IndexNew", msg = "" }));
            }

            // return View();
            //return Json(new { code = "-3", url = "", msg = "请检查录入的数据" });
        }
Ejemplo n.º 17
0
 public override void SetUp()
 {
     this.context = this.Stub <IValidationContext>();
     this.target  = new LoginValidator();
 }
Ejemplo n.º 18
0
        public void IsCorrect_ShouldCheckIfDataIsCorrect()
        {
            bool actual = new LoginValidator().IsCorrect(Encryptor.Encrypt("teacher1"), Encryptor.Encrypt("teacher1"), "teacher");

            Assert.True(actual);
        }
Ejemplo n.º 19
0
 public LoginController(JwtManager manager, LoginValidator validator)
 {
     this.manager = manager;
     _validator   = validator;
 }
Ejemplo n.º 20
0
 public LoginValidatorTests()
 {
     validator = new LoginValidator();
 }
 public LoginValidatorTest(ITestOutputHelper testOutputHelper)
 {
     _testOutputHelper = testOutputHelper;
     _sut = new LoginValidator();
 }
 public void Setup()
 {
     LoginValidator = new LoginValidator();
 }