Как вывести список доступных доменов Windows из Java-приложения? - PullRequest
2 голосов
/ 09 ноября 2010

Я должен авторизовать пользователей, используя свою учетную запись Windows в веб-приложении.Я использую LDAP для проверки с Active Directory, если пользователь / pwd в определенном домене является правильным, но мне нужен список доступных доменов, потому что пользователи могут быть из разных доменов.Я пытаюсь выполнить запрос DNS SRV, чтобы получить список серверов ldap (_ldap._tcp), но я не получаю серверы Active Directory ssl ldap.Хост-приложение находится на Unix-машине, а не в Windows.

1 Ответ

1 голос
/ 09 ноября 2010

Я не могу быть уверен, что это сработает, поскольку у меня нет доступа к необходимым библиотекам, но, похоже, вам нужно будет сделать что-то вроде этого:

Получить ADSIбаночки.Это действительно сложный момент. Возможно, эта статья может помочь с первоначальной конфигурацией, или вы можете перейти с J ++ здесь , или, может быть, этот от Isocra consulting Если вы размещаете свое приложение в Linux и обращаетесь к серверу AD на базе Windows, см. Раздел 3 первой статьи.По сути, вы будете создавать некоторые прокси-серверы Java для COM-объекта ADSI, а затем вызывать их через удаленный сервер AD.

Как только это настроено, тогда это может просто сделать это

public class Main {

  public static void main(String args[]) throws Exception {
      // The key is not to include any domain in your call apparently
      Set domains = (Set) ADsGetObject("WinNT:", IADs.iid);
      for (PropertyCache domain: domains) {
        System.out.println(domain.getName());
      }
  }

  /**
   * @dll.import("activeds", ole)
   */
  private static native IUnknown ADsGetObject(String path, _Guid riid);

}

Вместо того, чтобы быть полным ответом, это может просто привести вас в правильном направлении.Тем не менее, похоже, что это может быть очень трудно получить работу.

Этот ответ SO также может помочь (это на C #)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...