powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / MS AD & Java
5 сообщений из 5, страница 1 из 1
MS AD & Java
    #38453645
go_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
Нужно синхронизировать все учетные данные(в том числе пароль пользователя) с Active Directory и добавить в другую подсистему. Как можно реализовать ? Основной вопрос: как пароли достать с Active Directory и вообще возможно ли это ?
Следующий код позволяет тока основный реквизиты изъять(но пароль таки не смог ):
Код: java
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.
package conn;

import java.util.Hashtable;
import javax.naming.*;
import javax.naming.directory.*;


class TestAD {

    static DirContext ldapContext;

    public static void main(String[] args) throws NamingException {
        try {
            System.out.println("start");

            Hashtable<String, String> ldapEnv = new Hashtable<String, String>(11);
            ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
            ldapEnv.put(Context.PROVIDER_URL, "ldap://localhost:389");
            ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
            ldapEnv.put(Context.SECURITY_PRINCIPAL, "CN=admin,DC=asd,DC=pp");
            ldapEnv.put(Context.SECURITY_CREDENTIALS, "password");
            ldapContext = new InitialDirContext(ldapEnv);

            // Create the search controls          
            SearchControls searchCtls = new SearchControls();

            //Specify the attributes to return 
            String returnedAtts[] = {"sn", "givenName", "samAccountName"};
            searchCtls.setReturningAttributes(returnedAtts);

            //Specify the search scope 
            searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);

            //specify the LDAP search filter 
            String searchFilter = "(&(objectClass=user))";

            //Specify the Base for the search 
            String searchBase = "DC=asd,DC=pp";
            //initialize counter to total the results 
            int totalResults = 0;

            // Search for objects using the filter 
            NamingEnumeration<SearchResult> answer = ldapContext.search(searchBase, searchFilter, searchCtls);

            //Loop through the search results 
            while (answer.hasMoreElements()) {
                SearchResult sr = (SearchResult) answer.next();

                totalResults++;
				Attributes attrs = sr.getAttributes();
                System.out.println(">>>>>>" + attrs.get("samAccountName"));
            }

            System.out.println("Total results: " + totalResults);
            ldapContext.close();
        } catch (Exception e) {
            System.out.println(" Search error: " + e);
            e.printStackTrace();
            System.exit(-1);
        }
    }
}



Заранее спасибо....
...
Рейтинг: 0 / 0
MS AD & Java
    #38453727
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
go_7Основной вопрос: как пароли достать с Active Directory и вообще возможно ли это?
Никак не достать. Нормальные безопасные системы даже не хранят пароль в принципе, не то что отдают его кому-попало. И Java тут не при чем. Чем SSO не подходит?
...
Рейтинг: 0 / 0
MS AD & Java
    #38453783
go_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczНикак не достать. Нормальные безопасные системы даже не хранят пароль в принципе, не то что отдают его кому-попало. И Java тут не при чем. Чем SSO не подходит?

Извините, как вы это видите (SSO)? у меня есть подсистема которая уже обеспечивает единый вход, но проблема в том что не open source и все учетные записи берутся с другой LDAP системы, а некая компания работает тока с AD. Воооот, надо с AD все учетные данные синхронизировать с LDAP которая система работает.
...
Рейтинг: 0 / 0
MS AD & Java
    #38453788
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
go_7Извините, как вы это видите (SSO)?

Как-как? Стандартно для AD - NTLM, Kerberos.

go_7у меня есть подсистема которая уже обеспечивает единый вход, но проблема в том что не open source и все учетные записи берутся с другой LDAP системы, а некая компания работает тока с AD. Воооот, надо с AD все учетные данные синхронизировать с LDAP которая система работает.
Учетные-то можно синхронизировать. Но аутентификацию проходить придется либо заново, либо через SSO AD клиента.

Причем тут Java не понятно.
...
Рейтинг: 0 / 0
MS AD & Java
    #38453794
go_7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczПричем тут Java не понятно.
ок, спасибо за совет буду копать....! насчет Java: Планировалось .jar файл повесить на shedule servera и по времени он б автоматом синхронизировал все учетные записи!(конечно тупо, но по расписании не знал как запускать /jar файл)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / MS AD & Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]