Guest User

Untitled

a guest
Mar 12th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. ldap.url=ldap://server.domain.com:389
  2. ldap.base:OU=Employees,OU=Users,DC=domain,DC=com
  3. ldap.username:CN=myuserid,OU=employees,OU=Users,DC=domain,DC=com
  4. ldap.password:secretthingy
  5.  
  6. @Component
  7. public class MyLdapContextSource extends LdapContextSource implements ContextSource {
  8.  
  9. @Value("${ldap.url}")
  10. @Override
  11. public void setUrl(String url) { super.setUrl(url); }
  12.  
  13. @Value("${ldap.base}")
  14. @Override
  15. public void setBase(String base) {super.setBase(base); }
  16.  
  17. @Value("${ldap.username}")
  18. @Override
  19. public void setUserDn(String userDn) {super.setUserDn(userDn); }
  20.  
  21. @Value("${ldap.password}")
  22. @Override
  23. public void setPassword(String password) { super.setPassword(password); }
  24. }
  25.  
  26. @Component
  27. public class MyLdapTemplate extends LdapTemplate {
  28.  
  29. @Autowired
  30. public MyLdapTemplate(ContextSource contextSource) { super(contextSource); }
  31. }
  32.  
  33. @Service
  34. public class DirectoryService {
  35.  
  36. private final LdapTemplate ldapTemplate;
  37.  
  38. @Value("${ldap.base}")
  39. private String BASE_DN;
  40.  
  41. @Autowired
  42. public DirectoryService(LdapTemplate ldapTemplate) { this.ldapTemplate = ldapTemplate; }
  43.  
  44. public Person lookupPerson(String username) {
  45. return (Person) ldapTemplate.lookup("cn=" + username, new PersonAttributesMapper());
  46. }
  47.  
  48. public List<Person> searchDirectory(String searchterm) {
  49. SearchControls searchControls = new SearchControls();
  50. searchControls.setCountLimit(25);
  51. searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
  52.  
  53. List<Person> people = (List<Person>) ldapTemplate.search(
  54. BASE_DN, "cn=" + searchterm, searchControls, new PersonAttributesMapper());
  55. return people;
  56. }
  57. }
  58.  
  59. @Configuration
  60. public class LdapConfiguration {
  61.  
  62. @Autowired
  63. Environment env;
  64.  
  65. @Bean
  66. public LdapContextSource contextSource () {
  67. LdapContextSource contextSource= new LdapContextSource();
  68. contextSource.setUrl(env.getRequiredProperty("ldap.url"));
  69. contextSource.setBase(env.getRequiredProperty("ldap.base"));
  70. contextSource.setUserDn(env.getRequiredProperty("ldap.user"));
  71. contextSource.setPassword(env.getRequiredProperty("ldap.password"));
  72. return contextSource;
  73. }
  74.  
  75. @Bean
  76. public LdapTemplate ldapTemplate() {
  77. return new LdapTemplate(contextSource());
  78. }
  79.  
  80. }
Add Comment
Please, Sign In to add comment