Symfony 4 - множественная аутентификация - PullRequest
0 голосов
/ 12 июня 2018

Добрый день,

Здесь я работаю над Symfony 4 и над модулем Symfony Security.Мне нужно настроить аутентификацию моих пользователей без использования плагинов, таких как Fosuser.Это по следующим причинам:

Пользователь подключается к «главному» серверу (ldap) со своим логином / паролем. Мне нужно иметь возможность получить его учетные данные для параллельного тестирования своей учетной записи на других серверах ldap.

Когда пользователь проходит проверку подлинности на главном, он перенаправляется на страницу, сообщающую ему, все ли в порядке на других серверах.Если это не так, у него есть возможность обновить свой аккаунт.

Но документация касается «простых» случаев, и здесь я немного растерялся.Я протестировал несколько возможностей (аутентификация с помощью Guard, тест создания персонализированного провайдера ...) без результатов.

Мне нужно было бы понять механизмы аутентификации Symfony, чтобы создать собственную аутентификацию.Если бы у кого-то была подсказка, чтобы вести меня, это было бы здорово.

Заранее спасибо.

1 Ответ

0 голосов
/ 12 июня 2018

Я думаю, вам нужно разделить действие на 2 этапа:

  1. Аутентификация по LDAP против первого сервера, т. Е. С Symfony LDAP Component - это можно сделать с помощью стандартной аутентификацииform и FOSUserBundle
  2. Когда вы уже аутентифицированы, взаимодействуйте со вторым сервером в действии контроллера.Это можно сделать, написав весь код в Controler или в службе, предназначенной для взаимодействия с этим сервером LDAP.Вы даже можете использовать тот же компонент Symfony LDAP, что и раньше, но вам нужно будет вручную настроить другой экземпляр службы.
...