Сбой аутентификации 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 является доменным именем