Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Authentication в LDAP, варианты реализации


Автор: Saboteur 26.10.2011, 19:16
День добрый!
Пишу небольшое приложение на андройде с использованием REST сервиса + аутентификация пользователя в домене. Приложение исключительно учебное.
REST сервер - tomcat
Client - android app

метод отвечающий за логин ()
Код

public String authenticateUser(String username, String password) {
        Hashtable environment = new Hashtable();
        environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        environment.put(Context.PROVIDER_URL, "ldap://" + HOST + ":" + PORT); //Using standard port
        environment.put(Context.SECURITY_AUTHENTICATION, "simple");
        environment.put(Context.SECURITY_PRINCIPAL, username + "@" + DOMAIN);
        environment.put(Context.SECURITY_CREDENTIALS, password);
        LdapContext ctxGC = null;
        try {
            ctxGC = new InitialLdapContext(environment, null);
            System.out.println("Success!");
            return "success";
        } catch (AuthenticationException e) {
            System.out.println("Fail! Wrong credentials!");
            e.printStackTrace();
        }catch (NamingException ne){
            System.out.println("Fail! Wrong credentials!");
            ne.printStackTrace();
        }
        System.out.println("Fail!!");
        return "fail";
    }


Возникла мысль предупреждать пользователя на login-screen о:
*неверный пароль
*нет такого пользователя

Вопрос: возможно ли это сделать средствами пакета javax.naming.*

Или стоит задействовать стороннюю библиотеку?
вот http://directory.apache.org/api/java-api.html есть список библиотек для работы с LDAP. На что из них стоит потратить свое время? С какой комфортнее работать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)