Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.naming.NamingEnumeration;
- import javax.naming.directory.SearchControls;
- import javax.naming.directory.SearchResult;
- import javax.naming.ldap.InitialLdapContext;
- import java.util.Hashtable;
- public class LDAPLogin {
- public static void main(String[] args) throws Exception {
- if (args.length < 2) {
- throw new RuntimeException("No access without username and password for you!");
- }
- String username = args[0];
- String password = args[1];
- String query = String.format("(&(uid=%s)(userPassword=%s))", username, password);
- System.out.println("LDAP query: " + query);
- Hashtable<String, Object> env = new Hashtable<>();
- env.put("java.naming.provider.url", "ldap://localhost:8080/dc=example,dc=org");
- env.put("java.naming.factory.initial", "com.sun.jndi.ldap.LdapCtxFactory");
- InitialLdapContext ctx = new InitialLdapContext(env, null);
- SearchControls constraints = new SearchControls();
- constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
- constraints.setReturningAttributes(new String[0]); //return no attrs
- NamingEnumeration<SearchResult> results = ctx.search("", query, constraints);
- try {
- if (results.hasMore()) {
- System.out.println("Access granted");
- } else {
- System.out.println("Access denied");
- }
- } finally {
- results.close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement