Рейтинг:0

LDAP — добавьте фильтр к URL-адресу LDAP, чтобы только пользователи, принадлежащие к определенной группе, могли получить доступ к приложению.

флаг in

Мы разрешаем приложению использовать LDAP.

В конфигурации приложения нам нужно указать URL-адрес для подключения к LDAP. В настоящее время мы предоставляем следующий URL...

ldap://10.2.0.5:389/dc=домен,dc=abc,dc=de?uid

ВОПРОС: Нам нужно добавить фильтр к URL-адресу выше, чтобы находились только пользователи, принадлежащие к группе «accessgroup», чтобы ограничить доступ приложения только пользователями, принадлежащими к этой группе.

То есть что-то похожее на это...

curl "ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid?sub?(&(memberof=cn=accessgroup,ou=groups,dc=domain,dc=abc,dc =de)(uid=%s))"

Мы перепробовали сотни настроек и ничего не работает... =|

ГРУППА

Сп:
группа доступа

номер гида:
1004

идентификатор участника:
пользователь
пользовательб
пользовательc
пользователь
использовать
пользователь
пользователь
пользователь
усери

класс объекта:
вершина
posixGroup

ПОЛЬЗОВАТЕЛИ

Сп:
Буква пользователя А

гекос:
Буква пользователя А

Пол:
М

номер гида:
544

собственное имя:
Пользователь

gotoLastSystemLogin:
01.01.1970 00:00:00

ГлавнаяКаталог:
/дом/пользователь

логинОболочка:
/бин/баш

почта:
[email protected]

класс объекта:
вершина
человек
организационная личность
inetOrgPerson
gosaAccount
posixAccount
shadowAccount
sambaSamAccount

[...]

ИД:
пользователь

uidNumber:
1004

[...]

Спасибо! = Д

Рейтинг:1
флаг us

Как создается атрибут memberOf вашего сервера LDAP? Вы проверили, действительно ли у ваших пользователей есть атрибуты memberOf?

В OpenLDAP, например, memberOf заполняется только в том случае, если вы используете наложение memberof или управляете ими с помощью динамических списков.

Рейтинг:0
флаг in

СИТУАЦИЯ:

Проблема в том, что мы пытаемся фильтровать с помощью групп POSIX, и для этого нет специального наложения. То, что существует, представляет собой несколько сложный и трудоемкий обходной путь, который можно увидеть здесь. ГЕНЕРАЦИЯ АТРИБУТА MEMBEROF ДЛЯ POSIXGROUPS.

РЕШЕНИЕ:

Для решения этой проблемы мы реализовали простое решение, которое можно увидеть здесь...

psx-grp-flt — членство пользователя в posixGroup против pgMemberOf (memberOf)

... что в основном следующее...

Простой скрипт Python 2.7, в котором хранится posixGroup каждого пользователя (POSIX Group) в их атрибуте pgMemberOf (memberOf). цель состоит в том, чтобы включить поисковые фильтры, как показано ниже...

МОДЕЛЬ

ldapsearch -x -H 'ldap://127.0.0.1:389' -b 'ou=лица,dc=домен,dc=abc,dc=de'
-D 'cn=admin,dc=домен,dc=abc,dc=de'
-w 'мое секретное значение'
'(&(pgMemberOf=cn=certaingroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=certainuid))'

ПРИМЕР

ldapsearch -x -H '<OPENLDAP_URI>' -b '<PERSONS_OU>,<BASE_DN>'
-D '<ADM_USER_DN>'
-w '<ADM_USER_PASSWORD>'
'(&(pgMemberOf=cn=<PSX_GROUP_CN>,<GROUPS_OU>,<BASE_DN)(uid=<PERSON_UID>))'

Этот сценарий полезен для случаев, когда у нас уже есть OpenLDAP. установлены, и мы хотим сделать фильтры доступными для групп POSIX, которые уже существует очень простым способом и без создания новых типов группы. Также полезно, когда невозможно установить оверлеи или когда процесс слишком трудоемкий или рискованный.

Спасибо! = Д

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.