PlaintextPasswordEncoder ignores null encoded passwords

Fixes gh-7023
This commit is contained in:
Rob Winch 2019-06-12 09:21:38 -05:00
parent 4a7bdc1d65
commit b2d4fec361
2 changed files with 9 additions and 0 deletions

View File

@ -51,6 +51,9 @@ public class PlaintextPasswordEncoder extends BasePasswordEncoder {
}
public boolean isPasswordValid(String encPass, String rawPass, Object salt) {
if (encPass == null) {
return false;
}
String pass1 = encPass + "";
// Strict delimiters is false because pass2 never persisted anywhere

View File

@ -70,4 +70,10 @@ public class PlaintextPasswordEncoderTests {
assertThat(demerged[0]).isEqualTo("password");
assertThat(demerged[1]).isEqualTo("foo");
}
@Test
public void testNull() {
PlaintextPasswordEncoder encoder = new PlaintextPasswordEncoder();
assertThat(encoder.isPasswordValid(null, "null", null)).isFalse();
}
}