Сбой аутентификации LDAP в службе приложений Azure

Я создал веб-приложение на Java и развернул его в службе приложений Azure. В приложении мы предоставляем пользователям страницу входа, и после отправки учетных данных пользователи проходят аутентификацию с использованием LDAP. Это работает при локальном развертывании.

Когда я развертываю это в Azure как WebApp, аутентификация не происходит, и приложение выдает ошибку. Я пытаюсь подтвердить подлинность, как показано ниже. LDAPContext всегда возвращается как нулевой в Azure.

Параметры аутентификации / авторизации в портале Azure отключены.

    LdapContext ctx = null;
    String dn= "uid=" + username + ",ou=users,ou=xxxx,o=xxxxx";

    String ldapURL = "ldap://ldap.example.com:389";
    Hashtable<String, String> environment =new Hashtable<String, String>();
    environment.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
    environment.put(Context.PROVIDER_URL, ldapURL);
    environment.put(Context.SECURITY_AUTHENTICATION, "simple");
    environment.put(Context.SECURITY_PRINCIPAL, dn);
    environment.put(Context.SECURITY_CREDENTIALS, password);
    ctx = new InitialLdapContext(environment,null);

1 ответ

  • На стороне сервера: проверьте правило безопасности входящего трафика, для которого IP-адрес может получить доступ к LDAP.
  • Если вы передадите имя домена LDAP в коде. Попробуйте передать пустое значение в это место
  • Попробуйте указать тип аутентификации Basic, Negotiate или Anonymous и т. Д. они находятся в .Net Frame работают так же, как и другие типы в Java. Так что попробуй вот так

ldap://ldap.example.com - для этого example.com является доменным именем

Другие вопросы по тегам