第一种
@Configuration
public class ADConfig {
@Value("${ad.username}")
private String adminName;
@Value("${ad.password}")
private String adminPassword;
@Value("${ad.ldapURL}")
private String ldapURL;
@Bean
public LdapContext readConf() {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION, "simple");//"none","simple","strong"
env.put(Context.SECURITY_PRINCIPAL, adminName);
env.put(Context.SECURITY_CREDENTIALS, adminPassword);
env.put(Context.PROVIDER_URL, ldapURL);
LdapContext ctx=null;
try {
ctx = new InitialLdapContext(env, null);
} catch (NamingException e) {
e.printStackTrace();
}
return ctx;
}
}
第二种
@Configuration
public class ADConfig {
@Autowired
private Environment env;
@Bean
public LdapContext readConf() {
String adminName = env.getProperty("ad.username");
String adminPassword = env.getProperty("ad.password");
String ldapURL = env.getProperty("ad.ldapURL");//
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION, "simple");//"none","simple","strong"
env.put(Context.SECURITY_PRINCIPAL, adminName);
env.put(Context.SECURITY_CREDENTIALS, adminPassword);
env.put(Context.PROVIDER_URL, ldapURL);
LdapContext ctx=null;
try {
ctx = new InitialLdapContext(env, null);
System.out.println("222");
} catch (NamingException e) {
e.printStackTrace();
}
return ctx;
}
}
如果属性比较多建议通过提取bean的方式来读取