Аутентификация довольно стандартная. При попытке проверить имя пользователя и пароль сначала свяжитесь как пользователь с привилегией видеть всех пользователей и найдите запись с предоставленным именем пользователя в соответствующем поле (вероятно, «uid»). Как только вы нашли запись, получите ее DN и попробуйте привязать эту запись, используя предоставленный пароль.
Авторизация обычно выполняется либо с «динамическими группами», где у вас есть многозначный атрибут в каждом пользовательском объекте, который говорит, какие привилегии имеет пользователь, либо с использованием «статических групп», где у вас есть объекты класса, напоминающего «groupOfNames». "и вставьте DN всех членов в атрибут" member ".
Проводите одитинг так, как вам нравится. LDAP, вероятно, не лучший способ сохранить данные аудита. Вы можете поместить его в базу данных, если хотите, или просто использовать системный журнал.