Ahoj
zakladny dokument je http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#JNDIRealm . Toto mozete skombinovat s form-based autenzaciou, myslim, ze prave tato je v odkazovanom priklade.


Pavel Zelenka  wrote / napísal(a):

Dobrý den,

potřeboval bych poradit jak rozchodit LDAP autentifikaci.
V současnosti provádím autentifikaci uživatelů webové aplikace, která běží na Tomcatu 6.0.14 tak, že mám v SQL databázi tabulku uživatelů a uživatelé se hlásí prostřednictvím formuláře, kde následně servletem zkontroluji jméno a heslo.
Chtěl bych však pro autentifikaci uživatelů použít LDAP server, který u
nás běží. Z dostupných informací, které jsem dopsud našel však nejsem
nijak moudrý. Nevíte jak na to?

Možná bych ještě upřesnil, že bych autentifikaci chtěl nadále dělat tak,
že uživatel zadá do formuláře jméno + heslo a následně servlet provede
autentifikaci oproti LDAP. Z různých zdrojů jsem nakonec vypotil
následujcí kód, ale nevím jestli je vhodný i pro webovou aplikaci a
hlavně, jestli je to správné řešení

public class Main {

   public static void main(String[] args) {

       Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://muj_server:389/o=Mediaservis";);

       // Authenticate as
       env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=Pavel Zelenka, o=Mediaservis");
       env.put(Context.SECURITY_CREDENTIALS, "heslo");

       try {
           // Create initial context
           DirContext ctx = new InitialDirContext(env);
           ctx.close();
       } catch (NamingException e) {
           e.printStackTrace();
       }
   }
}

Díky

Pavel Zelenka


--
Rastislav Rehák
EEA communication solutions
Hattalova 12, 831 03 Bratislava, Slovakia

tel/fax: +421 2 4445 3690
mobile: +421 918 619 891
icq:466031223 http://www.eea.sk

Odpovedet emailem