tento nazor zastavam taky. 

Diky za zaslany priklad.





Adámek Lukáš <[EMAIL PROTECTED]> 
Odeslal: [EMAIL PROTECTED]
21.11.2007 11:04
Odpovězte prosím uživateli
Java <[email protected]>


Komu
"Java" <[email protected]>
Kopie

Předmět
RE: Tomcat + LDAP






Ahoj
 
Zastavam nazor, ze priklad je za 1000 stran teorie:
 
    DirContext dirContext = null;
    DirContext dirContextUser = null;
    NamingEnumeration results = null;
    String userHierarchy = null;
    try {
      Hashtable<String, String> account = new Hashtable<String, String>();
      account.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
      account.put("com.sun.jndi.ldap.connect.timeout", "5000");
      account.put(Context.PROVIDER_URL, "ldap://"; + server + portS);
      account.put(Context.SECURITY_PRINCIPAL, login);
      account.put(Context.SECURITY_CREDENTIALS, psswd);
      account.put(Context.SECURITY_AUTHENTICATION, 
securityAuthentication);
      dirContextOKBase = new InitialDirContext(account);
      SearchControls controls = new SearchControls();
      controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
      results = dirContext.search(hierarchy, 
"(&(objectClass=user)(samaccountname=" + loginUser + "))", controls);
      while (results.hasMoreElements()) {
        SearchResult sr = (SearchResult) results.next();
        userHierarchy = sr.getName();
      }
    } catch (CommunicationException e) {
      logger.error(e);
      throw new 
AutentizaceException(AutentizaceExceptionTyp.CHYBA_KOMUNIKACE_S_AD);
    } catch (AuthenticationException e) {
      logger.error(e);
      throw new 
AutentizaceException(AutentizaceExceptionTyp.VADNY_UCET_K_AD);
    } catch (NamingException e) {
      logger.error(e);
      throw new 
AutentizaceException(AutentizaceExceptionTyp.CHYBA_KOMUNIKACE_S_AD);
    } 
    finally {
          if (results != null) {
      try {
        results.close();
      } catch (NamingException e) {
        logger.error(e);
      }
    }
    if (dirContextOKBase != null) {
      try {
        dirContextOKBase.close();
      } catch (NamingException e) {
        logger.error(e);
      }
    }
    if (dirContextUser != null) {
      try {
        dirContextUser.close();
      } catch (NamingException e) {
        logger.error(e);
      }
    }
    }
 
l.
 
 

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
Behalf Of Pavel Zelenka
Sent: Wednesday, November 21, 2007 10:54 AM
To: Java
Subject: Re: Tomcat + LDAP
 

Ne nepouzivam. 



"Petr Burdik" <[EMAIL PROTECTED]> 
Odeslal: [EMAIL PROTECTED] 
21.11.2007 09:13 


Odpovězte prosím uživateli
Java <[email protected]>



Komu
Java <[email protected]> 
Kopie
 
Předmět
Re: Tomcat + LDAP
 


 
 




Jeste dotaz nez napisu cely prispevek. Pouzivate spring?

Pet

On Wed, 21 Nov 2007 08:56:26 +0100, Pavel Zelenka <[EMAIL PROTECTED]> 
 
wrote:

> 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



-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Odpovedet emailem