Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.08.2019 19:58:39

Сквозная авторизация SSO в Ларавел

Граждане, есть у кого-нибудь опыт в создании сквозной авторизации в Ларавел? Не могу сообразить, с чего начинать.
Необходимо убрать авторизацию пользователя путем ввода учетных данных, используя авторизацию AD, т.к. пользователь уже авторизован.
Использовать mod_auth_ в Апаче или есть библиотеки под Ларавел 5.4.36?
Отправные данные: Ларавел 5.4.36, OpenServer, PHP 5.6 x64, Апач 2.4 x64
Может кто поделиться решением?

Не в сети

#2 16.08.2019 18:38:20

Re: Сквозная авторизация SSO в Ларавел

Там всё просто.
Авторизация проходит не на локальной ларе а на стороннем ССО сайте, который кидает по кругу сайтов, хитропопые роуты которых ставят куку и возвращают на сайт ССО.
Там ы понимаешь что прошёл по кругу и возвращаешься на начальный сайт, где пытался авторизоваться.
Всё. тапки чистые.

Не в сети

#3 20.08.2019 22:27:50

Re: Сквозная авторизация SSO в Ларавел

Здесь немного другой вопрос - сквозная авторизация из AD. Библиотека Adldap2-Laravel дает возможность по ldap тянуть базу пользователей, но зачем заставлять пользователя вводить логин/пароль доменной записи, если он уже залогинился в AD при включении/разблокировки компьютера. В этой же библиотеке есть упоминание о необходимости включения Windows Authentication в Apache.

Вобщем направление действий предполагаю такое: включение Windows Authentication с помощью mod_authnz_ldap и изменения конфигурации Apache, далее подключение библиотеки Adldap2-Laravel как промежуточного средства... далее по обстановке))

Прошу поправить, если я не прав.

Не в сети

#4 22.10.2019 10:48:55

Re: Сквозная авторизация SSO в Ларавел

Не было времени этим заниматься, наконец добрался. Все оказалось намного проще и прозаичнее, чем я думал.
Надо всего лишь включить поддержку LDAP в php.ini:
раскомментировать строку ;extension=php_ldap.dll
После этого доступны стандартные функции LDAP PHP.
Но я подключил библиотеку Adldap2-Laravel и теперь в раздумьях - куда идти дальше.
Библиотека предлагает изменить таблицу users, чтобы периодически синхронизировать ее с каталогом домена. Но я думаю, что нет смысла в аутентификации пользователя с использованием локальной БД. Пользователи и так авторизуются в домене (неавторизованные пользователи в домен не пускаются), идентифицировать их можно с помощью getenv('USERNAME') и запросить данные о группах и другую информацию с помощью фасада Adldap. Для определения принадлежности пользователя к определенным группам могу создать посредника, но не понимаю как его использовать не в роутах и контроллерах, а в представлениях. Или для этого необходимо создавать свой фасад или контракт? Посоветуйте если не слишком запутал в описании.

Не в сети

#5 23.10.2019 15:22:53

Re: Сквозная авторизация SSO в Ларавел

Оказалось, что USERNAME берется с данных сервервера, под чьей учеткой он зашел в Домен, но никак не юзера, обратившегося к ресурсу. Для этого нужен REMOTE_USER, но его пока нет, т.к. нет внешней авторизации. Буду копать дальше.

Не в сети

Подвал раздела