Найти в Дзене

Ldap как инструмент авторизации в веб приложений

Использование LDAP в приложениях может существенно упростить процесс аутентификации пользователей. Управление инфраструктурой это трудоемкий процесс. Различные системы автоматизации облегчают работу, но не всегда можно найти подходящее приложение. Поэтому время от времени приходится создавать свои собственные приложения, которые отвечают всем вашим требованиям. Вот и я решил не ждать готово решения и сделать все сам. До этого все приложения, написанные мной, были без защиты, то есть не требующие авторизации. Скрыть их от ненужных лиц я мог просто, расположив их в изолированном сегменте сети. Но тут появилась задача, которая требовала авторизации. Перевод работников на удаленку оставил свой след и большинство сотрудников продолжают ею пользоваться. Это же ведь удобно! К примеру, можно пораньше уйти с работы, а работу доделать уже перед сном. И меня спрашивали о возможности включения рабочего компьютера из дома. Сразу появилась мысль сделать некий такой личный кабинет сотрудника, зайдя
Оглавление

Использование LDAP в приложениях может существенно упростить процесс аутентификации пользователей.

Управление инфраструктурой это трудоемкий процесс. Различные системы автоматизации облегчают работу, но не всегда можно найти подходящее приложение. Поэтому время от времени приходится создавать свои собственные приложения, которые отвечают всем вашим требованиям. Вот и я решил не ждать готово решения и сделать все сам. До этого все приложения, написанные мной, были без защиты, то есть не требующие авторизации. Скрыть их от ненужных лиц я мог просто, расположив их в изолированном сегменте сети.

Но тут появилась задача, которая требовала авторизации. Перевод работников на удаленку оставил свой след и большинство сотрудников продолжают ею пользоваться. Это же ведь удобно! К примеру, можно пораньше уйти с работы, а работу доделать уже перед сном. И меня спрашивали о возможности включения рабочего компьютера из дома. Сразу появилась мысль сделать некий такой личный кабинет сотрудника, зайдя в который, он видел бы доступные ему компьютеры и элементарные команды управления, такие как включить, выключить или перезагрузить. Тут вот как раз и понадобилась авторизация ldap.

Такое решение имеет следующие положительные стороны:

  • Не нужно тратить время на создание новых учетных данных.
  • Пользователь использует свой логин/пароль к которому он привык.
  • Возможность предоставить доступ только к определенным ПК

Что такое ldap

Дам краткое описание LDAP. По своей сути это протокол, который позволяет взаимодействовать с каталогом учетных записей вашей организации. Протокол LDAP поддерживают большинство служб каталогов, среди которых самые популярные Active Directory и OpenLDAP.

Все познается в сравнении, как сказал всем нам известный философ. Так и я люблю проводить аналогии. Связь между LDAP и Active Directory, такая же как, например, у HTTP и Apache. Соответственно, Active Directory и Apache это некоторая структурированная система, а LDAP и HTTP это протоколы, то есть способ общения, взаимодействия клиента и сервера.

Что из этого вышло

Перечитав разные инструкции и изучив похожие решения на просторах интернета, все-таки удалось получить лаконичное решение, которое не требует настройки сервера службы каталогов. Все это решение уместилось на 10 строк и вынесено в пару файлов. Такой подход позволяет с легкостью использовать код в новых проектах.

Листинг программы
Листинг программы

Шаблон авторизации с помощью LDAP можно скачать с моего репозитория на GitHub.

Примерная схема работы

Логика приложения по максиму проста. Пользователь на странице вводит логин и пароль. Далее скрипт отправляет данные и получает ответ от сервера службы каталогов. В случае успешной авторизации идет поиск всех разрешенных компьютеров для данного пользователя. Открывается новая страница с доступными компьютерами и кнопками управления.

-3

Заключение

На первый взгляд работа LDAP может показаться сложным, но немного разобравшись все становиться на свои места. Попытался дать понятное определение и рассказал про плюсы протокола LDAP. Область применения LDAP широка, так что надеюсь кому-то пригодиться.

#ldap #activedirectory #authentication #web #приложение #авторизация