7 - Сопоставление нескольких групп LDAP с отдельными ролями Drupal с помощью логических операторов


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

Некоторый контекст:

  1. Существует несколько похожих отделов: в каждом есть пул сотрудников, и в каждом есть менеджер.
  2. Группы LDAP сопоставляются с отделами, а также ролями. Менеджер финансового отдела принадлежит две группы: одна, которая обозначает группу Finance_dept, другая, которая обозначает группу Менеджеров.
  3. Менеджеры должны иметь R/W доступ к частям сайта, которые соответствуют только их соответствующим отделам ; сотрудники должны иметь только R-доступ.

То, что я пробовал (и исключил):

У меня есть модуль LDAP, настроенный для предоставления ролей Drupal на основе членства в группах LDAP - эта часть хорошо работает для сопоставлений один к одному; например:

  • Финансовый отдел|финансы
  • Менеджеры|менеджеры

Я пробовал различные итерации фильтров поиска LDAP, но безрезультатно:

  • Финансовый отдел и менеджеры|финансовые менеджеры
  • (&(Финансовый отдел)(Менеджеры))|финансовые менеджеры

Кто-нибудь заставил это работать?

Author: Jesse Glacken, 2013-07-08

1 answers

Пока я не найду (или кто-то другой не опубликует) лучший способ сделать это, мое промежуточное решение:

  1. Настройте группу LDAP ->Предоставление ролей Drupal в обычном режиме.
  2. Используйте модуль Правил, чтобы программно назначить/отменить другую роль в событиях Пользователь вошел в систему и Перед сохранением учетной записи пользователя.

Пример (ссылаясь на мой вопрос выше):

LDAP-сервер Подготовка:

  • Finance_dept|финансы

  • Менеджеры|менеджеры

Создайте роли вручную:

  • финансовые менеджеры

Правила:

Finance_dept + Менеджеры = Финансовые менеджеры

  • События: Пользователь вошел в систему, прежде чем сохранить учетную запись пользователя
  • Элементы: У пользователя есть роли: финансы, менеджеры
  • Действия: Добавление роли пользователя: финансовые менеджеры

Отстранен от работы либо с Финансами, либо с Менеджерами

  • События: Пользователь вошел в систему, прежде чем сохранить учетную запись пользователя
  • Элементы:
    • У пользователя НЕТ роли(ролей): финансы
    • ИЛИ
    • У пользователя нет ролей: менеджеры
  • Действия: Удалить роль пользователя: финансовые менеджеры

Пока работает, но он не будет масштабироваться дальше нескольких комбинаций ролей.

 0
Author: Jesse Glacken, 2013-07-09 13:10:09