1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| package com.android.clientldap;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
//import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import android.app.Activity;
//import android.view.Menu;
import javax.naming.Context;
import javax.naming.Binding;
//import javax.naming.Context;
import javax.naming.ldap.LdapContext;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
//import javax.naming.directory.DirContext;
//import javax.naming.directory.InitialDirContext;
public class ClientLdapActivity extends Activity {
//private Button mButtonConnectLdap;
private ListView mResultatDuSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//mButtonConnectLdap = (Button) findViewById(R.id.buttonConnect);
// Initialise la liste des résultats du ldap search
mResultatDuSearch = (ListView) findViewById(R.id.listeSearch);
}
public void connectLdap(View vue) {
// Connexion à l'annuaire ldap
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://192.168.**.**:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=admin,");
env.put(Context.SECURITY_CREDENTIALS, "*******");
try {
List<String> test = new ArrayList<String>();
LdapContext context = new InitialLdapContext(env, null);
NamingEnumeration enumLdap = context.listBindings("dc=test,");
// Tant qu'il y a des résultats
// Affiche dans la listView
while (enumLdap.hasMore()) {
Binding b = (Binding) enumLdap.next();
test.add("nom : " + b.getName());
test.add("objet : " + b.getObject());
test.add("classe : " + b.getClass());
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.activity_list_item, test);
mResultatDuSearch.setAdapter(adapter);
}
context.close();
} catch (NamingException e) {
Toast.makeText(ClientLdapActivity.this, "Erreur lors de la conexion à ldap", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
Toast.makeText(ClientLdapActivity.this, "Fin du traitement !", Toast.LENGTH_SHORT).show();
}
/*@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}*/
} |
Partager