Я создал сервер LDAP на своей машине и создал одного пользователя в качестве администратора внутри LDAP-сервера, и я могу получить к нему доступ с URL-адресом: http://192.158.2.136/phpldapadmin
, теперь у меня есть страница входа в мое приложение и что я хочу, когда кто-то вводит имя пользователя и пароль, я хочу, чтобы мое приложение проверило этого пользователя с сервера LDAP, то есть я должен проверить, что имя пользователя и пароль введено одинаково, существует на сервере LDAP или нет. Поэтому я пробовал с apacheds-all
, но не мог найти подходящий способ отправить имя пользователя и пароль на сервер, может кто-нибудь скажет мне, как это сделать в java
или scala
, я должен иметь возможность проверять учетные данные пользователя с сервера LDAP с использованием java
или scala
в качестве кода клиента. Спасибо заранее! !Аутентификация LDAP с использованием scala или java
3
A
ответ
1
Я получил решение, наконец:
object LDAPValidations {
def validateForLDAP(username: String, passcode: String): Boolean = {
val result = Try {
var props = new Properties
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory")
props.put(Context.PROVIDER_URL, "ldap://192.168.1.121:389")
props.put(Context.SECURITY_PRINCIPAL, s"cn=$username,cn=staff,dc=myreutore,dc=local")
props.put(Context.SECURITY_CREDENTIALS, "administrator")
var context: InitialDirContext = new InitialDirContext(props)
val controls: SearchControls = new SearchControls
controls.setReturningAttributes(Array[String]("givenName", "sn", "memberOf", "cn"))
controls.setSearchScope(SearchControls.SUBTREE_SCOPE)
val answers: NamingEnumeration[SearchResult] = context.search("dc=myrtor,dc=local", s"cn=$username", controls)
val result: SearchResult = answers.nextElement
val user: String = result.getNameInNamespace
props = new Properties
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory")
props.put(Context.PROVIDER_URL, "ldap://192.168.1.121:389")
props.put(Context.SECURITY_PRINCIPAL, user)
props.put(Context.SECURITY_CREDENTIALS, passcode)
context = new InitialDirContext(props)
}
result match {
case Success(v) => true
case Failure(v) => false
}
}
}
Смежные вопросы
- 1. Аутентификация с использованием LDAP
- 2. Цепной Аутентификация с использованием LDAP
- 3. Аутентификация ADAM с использованием LDAP
- 4. Аутентификация LDAP с использованием домена безопасности jboss
- 5. Java, LDAP с MySQL и аутентификация пользователей
- 6. Аутентификация пользователя с использованием LDAP с PHP
- 7. CCTray Аутентификация WinLogin с использованием безопасности ldap
- 8. Аутентификация через Active Directory с использованием LDAP, Java Play Framework
- 9. Worklight 6.2 Аутентификация LDAP с использованием OpenDS
- 10. ldap аутентификация с использованием паспорта ldapjs
- 11. Базовая аутентификация на Glassfish с использованием Ldap
- 12. ldap Аутентификация с использованием весенней безопасности
- 13. Аутентификация LDAP с использованием UnboundID: какая безопасность?
- 14. Аутентификация с использованием ldap в рельсах?
- 15. Аутентификация в Java с помощью Spring LDAP
- 16. Аутентификация LDAP с Java, объяснение необходимости
- 17. Аутентификация интеграции Java-мелодии с LDAP
- 18. Аутентификация с использованием LDAP против ADAM с использованием весенней безопасности
- 19. Аутентификация LDAP с VB.NET
- 20. Аутентификация LDAP с memberOf
- 21. LDAP-аутентификация с JBoss 7
- 22. Аутентификация против VDS LDAP
- 23. Простого LDAP SSO аутентификация
- 24. ejabberd - аутентификация LDAP
- 25. Внешняя аутентификация через LDAP
- 26. UNIFACE LDAP Аутентификация пользователя
- 27. рельсы мошенничества жемчужина и ldap аутентификация с использованием net-ldap и/или activeldap
- 28. Аутентификация Spring Security + Ldap
- 29. Аутентификация LDAP с идентификатором Asp.NET