public UserModel(UserRegistrationDto registrationDto) { // RuleEngine engine = new RuleEngine(); // https://msdn.microsoft.com/pl-pl/library/aa561216.aspx Username = registrationDto.Username; Email = registrationDto.Email; Password = MdoSecurity.CreateHashedPassword(registrationDto.Password); Secret = MdoSecurity.CreateSecret(); }
private void RegisterUser() { Post["/register"] = o => { logger.Info("POST /register invoked"); var model = this.Bind <UserRegistrationDto>(); if (model != null) { try { var usernameExists = userRepository.GetByName(model.Username); if (usernameExists != null) { logger.Debug("username {0} already exists.", model.Username); return(ReturnInvalidInput("Username already exists")); } var emailUsed = userRepository.GetByEmail(model.Email); if (emailUsed != null) { logger.Debug("email {0} already exists.", model.Email); return(ReturnInvalidInput("Provided email is already used")); } if (!MdoSecurity.IsPsswordValid(model.Password)) { logger.Debug("invalid password."); return(ReturnInvalidInput("Password is to short")); } var user = new UserModel(model); userRepository.CreateUser(user); } catch (Exception e) { logger.Error(e, "Could not add new user. Server error: {0}. ", e.Message); return(Response.AsJson(new ResponseMessage() { Message = "Could not add user" }, HttpStatusCode.InternalServerError)); } return(Response.AsJson(new ResponseMessage() { Message = "Registration Successfull" })); } logger.Debug("problem with parsing data from request body."); return(Response.AsJson(new ResponseMessage() { Message = "Cannot process passed data. Most likely invalid format" }, HttpStatusCode.BadRequest)); }; }
private void PopulateUsers() { var passwordToStore = MdoSecurity.CreateHashedPassword(StdPassword); Users.Add(new UserEntity() { Email = StdEmail, Username = StdUsername, UserId = StdId, Password = passwordToStore }); }
static UserWarehouse() { var passwordToStore = MdoSecurity.CreateHashedPassword(StdPassword); Users.Add(new UserEntity() { Email = StdEmail, Username = StdUsername, UserId = StdId, Password = passwordToStore }); }
private void LoginUser() { Post["/login"] = o => { try { logger.Info("POST /login invoked"); var model = this.Bind <LoginDto>(); var user = userRepository.GetUser(model.UsernameOrEmail); if (user == null) { logger.Debug("Cant find user/email {0}, login failed", model.UsernameOrEmail); return(LoginFailResponse()); } if (MdoSecurity.CheckPassword(model.Password, user.Password)) { return(Response.AsJson(new { Message = "Login successful", user.Username, user.Secret, user.Roles })); } } catch (Exception e) { logger.Error(e, "Login failed. Server error {0}", e.Message); return(LoginFailResponse()); } return(Response.AsJson("")); }; }