/**
   * Registreer een nieuwe speler.
   *
   * @param naam String
   * @param voornaam String
   * @param gebruikersnaam String
   * @param wachtwoord String
   * @param wachtwoordBevestiging String
   */
  public void registreer(
      String naam,
      String voornaam,
      String gebruikersnaam,
      String wachtwoord,
      String wachtwoordBevestiging) {
    if (!wachtwoord.equals(wachtwoordBevestiging)) {
      throw new WachtwoordException(lang.get("err.passwordrepeat"));
    }

    // controle DR Nieuwe Speler
    if (gebruikersnaam.length() < 8) {
      throw new GebruikersnaamException(lang.get("err.usernameDR"));
    }

    if (wachtwoord.length() < 8
        || !wachtwoord.matches(".*[A-Z].*")
        || !wachtwoord.matches(".*[a-z].*")
        || !wachtwoord.matches(".*[0-9].*")) {
      throw new WachtwoordException(lang.get("err.passwordDR"));
    }

    wachtwoord = BCrypt.hashpw(wachtwoord, BCrypt.gensalt(10));

    Speler nieuweSpeler = new Speler(naam, voornaam, gebruikersnaam, wachtwoord);
    setHuidigeSpeler(nieuweSpeler);
    huidigeSpeler.setLang(lang);
    spelerRepository.voegToe(nieuweSpeler);
  }
示例#2
0
  static boolean authenticate(String username, String password) {
    User user = User.find("byLoginName", username).first();

    if (user == null) {
      return false;
    }
    if (user.getEncryption() == User.Encryption.MD5) {
      return DigestUtils.md5Hex(password).equals(user.getPassword());
    }
    return BCrypt.checkpw(password, user.getPassword());
  }