Skip to content

Instantly share code, notes, and snippets.

@Romain-P
Created September 26, 2017 14:13
Show Gist options
  • Select an option

  • Save Romain-P/260a0cb78c119333a5d2e34a8418767c to your computer and use it in GitHub Desktop.

Select an option

Save Romain-P/260a0cb78c119333a5d2e34a8418767c to your computer and use it in GitHub Desktop.
Exemple d'implémentation authentification ortec
@Component
public class OrtecAuthenticationProviderImpl extends OrtecAuthenticationProvider<UserDTO> {
@Autowired
private UserRepository repository;
@Override
protected void configure(AuthenticationConfigurer<UserDTO> configurer) {
configurer
.loadUserByUsername(username -> repository.findByUsername(username))
.createUserEntity(ldap -> {
UserDTO dto = new UserDTO();
dto.setUsername(ldap.getUsername());
Long id = repository.create(dto);
dto.setId(id);
return dto;
})
.rescueInvalidAuthentication((username, password) -> repository.findByUsernameAndPassword(username, password));
}
}
@Getter @Setter
public class UserDTO implements UserIdentity {
private Long id;
private String username;
}
public interface UserRepository {
Optional<UserDTO> findByUsername(String username);
Optional<UserDTO> findByUsernameAndPassword(String username, String password);
Long create(UserDTO dto);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment