public void testPassword( PasswordRuleViolations violations, User user ) { String password = user.getPassword(); if ( hasReusedPassword( user, password ) ) { violations.addViolation( REUSE_VIOLATION, new Object[]{String.valueOf( getPreviousPasswordCount() )} ); //$NON-NLS-1$ } }
public void testPassword( PasswordRuleViolations violations, User user ) { if ( countAlphaCharacters( user.getPassword() ) < this.minimumCount ) { violations.addViolation( ALPHA_COUNT_VIOLATION, new Object[]{String.valueOf( minimumCount )} ); //$NON-NLS-1$ } }
public void testPassword( PasswordRuleViolations violations, User user ) { if ( countDigitCharacters( user.getPassword() ) < this.minimumCount ) { violations.addViolation( NUMERICAL_COUNT_VIOLATION, new Object[]{String.valueOf( minimumCount )} ); //$NON-NLS-1$ } }
private boolean hasReusedPassword( User user, String password ) { if ( securityPolicy == null ) { throw new IllegalStateException( "The security policy has not yet been set." ); } if ( StringUtils.isEmpty( password ) ) { return false; } String encodedPassword = securityPolicy.getPasswordEncoder().encodePassword( password ); int checkCount = getPreviousPasswordCount(); Iterator it = user.getPreviousEncodedPasswords().iterator(); while ( it.hasNext() && checkCount >= 0 ) { String prevEncodedPassword = (String) it.next(); if ( encodedPassword.equals( prevEncodedPassword ) ) { return true; } checkCount--; } return false; }