Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ldap.url=ldap://server.domain.com:389
- ldap.base:OU=Employees,OU=Users,DC=domain,DC=com
- ldap.username:CN=myuserid,OU=employees,OU=Users,DC=domain,DC=com
- ldap.password:secretthingy
- @Component
- public class MyLdapContextSource extends LdapContextSource implements ContextSource {
- @Value("${ldap.url}")
- @Override
- public void setUrl(String url) { super.setUrl(url); }
- @Value("${ldap.base}")
- @Override
- public void setBase(String base) {super.setBase(base); }
- @Value("${ldap.username}")
- @Override
- public void setUserDn(String userDn) {super.setUserDn(userDn); }
- @Value("${ldap.password}")
- @Override
- public void setPassword(String password) { super.setPassword(password); }
- }
- @Component
- public class MyLdapTemplate extends LdapTemplate {
- @Autowired
- public MyLdapTemplate(ContextSource contextSource) { super(contextSource); }
- }
- @Service
- public class DirectoryService {
- private final LdapTemplate ldapTemplate;
- @Value("${ldap.base}")
- private String BASE_DN;
- @Autowired
- public DirectoryService(LdapTemplate ldapTemplate) { this.ldapTemplate = ldapTemplate; }
- public Person lookupPerson(String username) {
- return (Person) ldapTemplate.lookup("cn=" + username, new PersonAttributesMapper());
- }
- public List<Person> searchDirectory(String searchterm) {
- SearchControls searchControls = new SearchControls();
- searchControls.setCountLimit(25);
- searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
- List<Person> people = (List<Person>) ldapTemplate.search(
- BASE_DN, "cn=" + searchterm, searchControls, new PersonAttributesMapper());
- return people;
- }
- }
- @Configuration
- public class LdapConfiguration {
- @Autowired
- Environment env;
- @Bean
- public LdapContextSource contextSource () {
- LdapContextSource contextSource= new LdapContextSource();
- contextSource.setUrl(env.getRequiredProperty("ldap.url"));
- contextSource.setBase(env.getRequiredProperty("ldap.base"));
- contextSource.setUserDn(env.getRequiredProperty("ldap.user"));
- contextSource.setPassword(env.getRequiredProperty("ldap.password"));
- return contextSource;
- }
- @Bean
- public LdapTemplate ldapTemplate() {
- return new LdapTemplate(contextSource());
- }
- }
Add Comment
Please, Sign In to add comment