/** loads the user and decodes the password to plain text (if possible). */ @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { GeoServerUser user = (GeoServerUser) service.loadUserByUsername(username); if (user == null) return null; try { String decoded = encoder.decode(user.getPassword()); return new UserDetailsPasswordWrapper(user, decoded); } catch (UnsupportedOperationException ex) { return new UserDetailsPasswordWrapper(user, user.getPassword()); } } }
assertTrue(Arrays.equals(testPasswordArray, encoder.decodeToCharArray(enc2))); assertEquals(testPassword, encoder2.decode(enc)); assertTrue(Arrays.equals(testPasswordArray, encoder2.decodeToCharArray(enc))); assertEquals(testPassword, encoder2.decode(enc2)); assertTrue(Arrays.equals(testPasswordArray, encoder2.decodeToCharArray(enc2)));
assertTrue(Arrays.equals(testPasswordArray, encoder.decodeToCharArray(enc2))); assertEquals(testPassword, encoder2.decode(enc)); assertTrue(Arrays.equals(testPasswordArray, encoder2.decodeToCharArray(enc))); assertEquals(testPassword, encoder2.decode(enc2)); assertTrue(Arrays.equals(testPasswordArray, encoder2.decodeToCharArray(enc2)));
String encPassword = null; try { rawPassword = mEncoder.decode(user.getPassword()); encPassword = encoder.encodePassword(rawPassword, null); } catch (UnsupportedOperationException ex) {
if (encoder.isResponsibleForEncoding(user.getPassword())) continue; // nothing to do try { String rawpass = mEncoder.decode(user.getPassword());
encoder2.decode(""); fail("Must fail, empty passwords cannot be decoded"); } catch (UnsupportedOperationException ex) {
assertEquals(password, encoder3.decode(enc)); assertEquals(password, encoder.decode(enc)); assertEquals(password, encoder.decode(encFromArray));
encoder2.decode(enc); fail("Must fail, digested passwords cannot be decoded"); } catch (UnsupportedOperationException ex) {