[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

How to integret JAVA for LDAP autentication?

Posted on 2008-06-22
6
Medium Priority
?
416 Views
Last Modified: 2010-05-18
We are having one internal application developed on JAVA. Now we want to Integrate autentication with existing windows 2003 Active directory. Is it possible to have ldap configured for authentication?
0
Comment
Question by:ktwoisg
  • 2
4 Comments
 

Expert Comment

by:rameshsukka
ID: 21840135
We have open source LDAP API avaiable in market. You can use these API as Action Directory is V3 protocol. For more clarity,

Programatically you need to Bind to LDAP server with proper credentials. Let me know if you required any help on this.

Regards,
Ramesh Sukka.
0
 
LVL 4

Accepted Solution

by:
Meritor earned 500 total points
ID: 21841006
If you just need authentication from LDAP, there is a simpler way to it.
Just use JNDI. if you are able to create context then the user is authenticated, otherwise not
	Hashtable env = new Hashtable();
	env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
	env.put(Context.PROVIDER_URL, "ldap://ap.abc.com:389");//LDAP server location
	env.put(Context.SECURITY_AUTHENTICATION,"simple");
	env.put(Context.SECURITY_PRINCIPAL,"userName"); // specify the username
	env.put(Context.SECURITY_CREDENTIALS,"password"); // specify the password
	DirContext ctx = new InitialDirContext(env);
 
	System.out.println("CTX:"+ctx);

Open in new window

0
 

Author Comment

by:ktwoisg
ID: 21844061
Please let me know how to Bind to LDAP server with proper credentials.
0
 

Expert Comment

by:rameshsukka
ID: 21844389

look at the sample code from
http://java.sun.com/products/jndi/tutorial/ldap/security/ldap.html

// Set up the environment for creating the initial context
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
    "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");

// Authenticate as S. User and password "mysecret"
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=S. User, ou=NewHires, o=JNDITutorial");
env.put(Context.SECURITY_CREDENTIALS, "mysecret");

// Create the initial context
DirContext ctx = new InitialDirContext(env);

// ... do something useful with ctx


In above code,
S. user and password is "mysecret". After initializing content call ctx.bind() function

Regards,
Ramesh Sukka,
0

Featured Post

Easily manage email signatures in Office 365

Managing email signatures in Office 365 can be a challenging task if you don't have the right tool. CodeTwo Email Signatures for Office 365 will help you implement a unified email signature look, no matter what email client is used by users. Test it for free!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Scripts are great for performing batch jobs against users, however sometimes the GUI is all you need.
Sometimes it necessary to set special permissions on user objects.  For instance when using a Blackberry server, the SendAs permission needs to be set. I see many admins struggle with the setting that permission only to see it disappear within a few…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.
Suggested Courses

591 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question