Получить пользовательские атрибуты пользователя из AD в weblogic

1

КАК кто-нибудь описал мне, как получить дополнительные пользовательские атрибуты из AD, используя безопасность weblogic? Я настроил поставщика безопасности и пытался аутентифицироваться в своем приложении JEE.

        HttpServletRequest request =
            (HttpServletRequest)((ServletRequest)ADFContext.getCurrent().getEnvironment().getRequest());
        CallbackHandler handler =
            new SimpleCallbackHandler(username, password);               
        try {
            Subject subject = Authentication.login(handler);
            ServletAuthentication.runAs(subject, request);              
        } catch (Exception e) {
            e.printStackTrace();
            return "fail";
        }

Все в порядке. Но из Subject я могу взять только логин и роль пользователя, но мне нужен пользовательский телефон и номер сотрудника. Как мне это сделать?

Теги:
security
ldap
weblogic

1 ответ

0
Лучший ответ

После того, как вы получите имя пользователя из Subject вам нужно будет выдать запрос LDAP для получения дополнительной информации. Он будет выглядеть примерно так:

properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
properties.put(Context.PROVIDER_URL, "LDAP://yourldap:389");
properties.put(Context.SECURITY_PRINCIPAL, ldapqueryuser + "@yourldap");
properties.put(Context.SECURITY_CREDENTIALS, ldapqueryuserpassword);

// initializing active directory LDAP connection
dirContext = new InitialDirContext(properties);
dirContext.search(name, filter, cons)

Эти примеры довольно подробные:

http://docs.oracle.com/javase/jndi/tutorial/getStarted/examples/directory.html http://myjeeva.com/querying-active-directory-using-java.html

Java-документ для InitialDirContext находится здесь:

http://docs.oracle.com/javase/7/docs/api/javax/naming/directory/InitialDirContext.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню