Лучший способ отфильтровать пользователей LDAP - PullRequest
2 голосов
/ 11 мая 2011

Я использую LDAP - Active Directory для аутентификации пользователей для моего проекта.

В настоящее время у меня есть 2 страницы входа - одна предназначена для студентов, другая для сотрудников.

Мне удалось написать скрипт аутентификации для привязки к серверу LDAP - это работает для всех пользователей.хранится на сервере LDAP.

Теперь я хочу иметь возможность отфильтровывать студентов от сотрудников, позволяя только сотрудникам входить через «страницу входа сотрудников».

DN выглядит примерно так:

cn=USERNAME,ou=DEPT,ou=MAS,ou=LAN,o=UNI  <-- STAFF
cn=USERNAME,ou=DEPT,ou=STUDENT,ou=LAN,o=UNI <-- STUDENT

Как я могу отфильтровать ou = STUDENT или что-то, что помешает учащимся войти в систему с помощью нового сценария аутентификации персонала?

Спасибо

1 Ответ

2 голосов
/ 11 мая 2011

Чтобы учащийся не смог войти в систему с помощью нового скрипта аутентификации персонала, вы можете просто изменить базу поиска LDAP.Несмотря на поиск UPN во всем каталогеn, вы ищите UPN из ou=MAS,ou=LAN,o=UNI.

С LDIFDE.EXE это даст:

ldifde -fc: \ temp \ user.ldf -d "ou = MAS, ou = LAN, o = UNI" -r "(userPrincipalName = login)" *

Таким образом, поиск ничего не даст, если пользователь студент.

На абсолютном LDAP существует синтаксис фильтра с именем ExtensibleMatch , который позволяет вам это делать, но он работает в AD.

...