Я нахожусь в процессе создания веб-сайта для компании, в которой я работаю. Я хотел бы запустить некоторые из них с сервера LDAP, который уже используется. Прямо сейчас я связал это для входа и выхода, не большая проблема.
Мой следующий шаг, который, похоже, стал больше задерживаться, это группы пользователей и права доступа. Я хотел бы иметь возможность получить группы, в которые входит пользователь. Обычно это просто возвращает полную строку группы, но я бы предпочел иметь GUID.
Я знаю, что могу взять строки и запросить сервер, а затем получить GUID группы. Кажется, это просто больше обрабатывает сервер.
Я хотел бы иметь это для входа в базу данных. Если имя меняется, список пользователей не меняется. Это вызвало бы слишком много проблем и сохраняло бы слишком много в базе данных, если бы я использовал полную строку, а не GUID.
Моя другая идея / вариант будет заключаться в поиске и кэшировании всех GUID в таблице, обновляя имена, если они меняются. Таким образом, я не обращаюсь к серверу LDAP с запросами о том, что мне нужно, и могу управлять всем этим на одном сервере. Серверы находятся в одной сети, но всегда работают быстрее, если работают локально.
TL; DR
Есть ли способ, которым я могу запросить сервер LDAP и получить список групп, в которых находится пользователь, возвращая GUID группы, а не ее полное имя.
Я все еще плохо знаком с работой с LDAP, на случай, если что-то упущу.
Я думаю, что делать локальную репликацию излишне, openldap может выполнять 22 000 запросов / секунду или 4800 обновлений / секунду и может содержать до 150 миллионов записей (ориентир на 2006 год).
Это задача LDAP сделать это, и это делает это в целом хорошо.
Ваша локальная репликация просто связана с задержкой, когда происходит изменение пользователя / группы, может быть источником ошибок, хотя это не приносит существенного улучшения.
Других решений пока нет …