Я очень благодарен, если кто-то может помочь мне использовать аутентификацию LDAP в Symfony2 Framework. Основная идея заключается в том, чтобы правильно использовать LDAP, чтобы знать всех пользователей без использования таблицы interne и без логина (вставить имя пользователя/пароль), скажем, что я хочу быть чем-то вроде автоматической идентификации.Проверка подлинности с помощью Symfony с LDAP
ответ
Вы ищете единый вход в систему. Вам действительно не нужно иметь дело с LDAP, но ваш веб-сервер должен быть настроен правильно. Веб-сервер имеет дело с аутентификацией вместо вашего приложения. Затем вы можете получить логин пользователя из переменной среды REMOTE_USER. Это доверяет вам, что вы можете доверять. In Symfony is special security provider for that (начиная с версии 2.6).
Update: Добавлено более зависимая информация для IIS
- Включить проверку подлинности Windows на IIS (some maybe helpful link и убедитесь, что ваш сервер и клиенты находятся в домене).
- Попробуйте поймать $ _SERVER ['REMOTE_USER'] в простом скрипте PHP - вы должны увидеть свой домен.
Если все будет хорошо, вы можете играть с провайдером remote_user Symfony по ссылке выше. Вам также необходимо иметь пользователей в базе данных (т. Е. Только вход в домен, электронную почту и, возможно, некоторые флаги) для использования ролей, ведения журнала и т. Д. Также убедитесь, что ваш сервер находится в локальной зоне интрасети.
Обновление 2: Добавлен пример конфигурации Symfony
security.yml
security:
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
in_memory:
memory:
users:
- { name: 'DOMAIN\login', roles: [ 'ROLE_USER' ] }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/demo
remote_user:
provider: in_memory
access_control:
- { path: ^/demo/secured/login, roles: ROLE_ADMIN }
Это пример для чистой установки Symfony 2.6 с AcmeDemoBundle. Попробуйте поиграть с ним самостоятельно. На домашней странице вы вообще не вошли в систему. Если проверка подлинности Windows работает, и ваш логин DOMAIN \ login, вы войдете в систему после нажатия кнопки «Запустить демонстрационную кнопку». Если вы попытаетесь получить доступ к /demo/secured/login
, вы получите 403. Надеюсь, этого достаточно, как введение, которое Symfony может сделать для вас.
Hy, спасибо, но я не могу обойтись без LDAP-сервера, это изначально, Да, я хочу, чтобы для всех пользователей был один знак, есть ли другой вариант? – ASSUMA
Если вы хотите сделать возможным вход в систему для своих пользователей без имени пользователя и пароля, вы должны доверять своему веб-серверу и настроить его. Ваш веб-сервер будет использовать LDAP для аутентификации пользователей, и ваша задача - просто ввести имя пользователя из REMOTE_USER. Клиент должен быть зарегистрирован под учетной записью домена и использовать браузер, который может отправлять учетные данные через протокол ntlm или kerberos в фоновом режиме на веб-сервер. Что такое окружающая среда? Клиенты - это окна? Веб-сервер - это IIS, Apache или что-то еще? Какой браузер вы используете? – kba
Hy Да, мой environement - это IIS, и я использую IE11 в качестве браузера. – ASSUMA
- 1. Проверка подлинности пользователей BlackBerry с помощью LDAP
- 2. Проверка подлинности Rails с помощью LDAP
- 3. Проверка подлинности LDAP с помощью Jetty
- 4. Проверка подлинности Steam с помощью Symfony
- 5. Проверка подлинности LDAP с конфигурацией Java
- 6. Проверка подлинности Ldap в symfony2
- 7. Проверка подлинности LDAP Zeppelin
- 8. Проверка подлинности Java LDAP с именем пользователя
- 9. Проверка подлинности сервера CAS с использованием LDAP
- 10. WCF через HTTPS Основная проверка подлинности с помощью LDAP
- 11. Проверка подлинности в Интернете с помощью десктопа ldap
- 12. Проверка подлинности django-python3-ldap
- 13. Проверка подлинности Java Tomcat LDAP
- 14. LDAP Требуется проверка подлинности (er)
- 15. Проверка подлинности Symfony с запросом Doctrine
- 16. Проверка подлинности Active Directory с помощью ldap.js
- 17. Проверка подлинности с помощью Symfony зависит от другого свойства
- 18. Проверка подлинности Twitter с помощью HWIOAuth в Symfony
- 19. Проверка подлинности вручную Проверка Symfony 2
- 20. Проверка подлинности API-интерфейса Symfony
- 21. Проверка подлинности с помощью Sharepoint
- 22. Проверка подлинности с помощью мыла
- 23. Проверка подлинности LDAP в контейнере Docker
- 24. PHP-LDAP и проверка подлинности Windows
- 25. CakePHP 3 Проверка подлинности Ldap и уточнение
- 26. Проверка подлинности через домен с помощью DirectoryServices
- 27. Проверка подлинности DB и LDAP с использованием Spring Security
- 28. Проверка подлинности с помощью PhoneGap с Ajax
- 29. Проверка подлинности LDAP через Devise - возникли проблемы с настройкой соединения
- 30. Проверка подлинности LDAP с использованием паспорта ldapauth npm
Существует множество пакетов, выполняющих аутентификацию LDAP. Проверьте на http://knpbundles.com/search?q=ldap –
Извините ..., Да, это первый материал, который я делаю, но нашел только несколько пакетов, которые используют внутреннюю таблицу с FOSuserBundle, и у нас все еще есть классическая форма входа в систему, то, что я хочу сделать, - это автоматически получать идентификацию для каждого пользователя без того, чтобы пользователь вводил свой идентификатор/пароль на странице входа, надеюсь, что я скажу вам спасибо. – ASSUMA
Я использовал https://github.com/Maks3w/FR3DLdapBundle вместе с FOSUserBundle довольно легко в прошлом. – qooplmao