Рейтинг:1

Невозможно правильно применить разрешения роли пользователя

флаг cn

У меня есть многоязычный сайт, которым управляют разные администраторы. Мы хотим создать роль редактора новостей и применить ее так, чтобы а) человек мог изменять только контент, применимый к его языку, и б) мог изменять только тип контента «новости».

Я использую модуль перевода, а также установил модуль «доступ к контенту».

В разделе «Разрешения» у меня правильно настроены разрешения в «узле» в разрешениях пользователя, где я разрешаю CRUD только для «типа контента новостей» и полагаюсь на модули перевода, чтобы ограничить контент на своих языках в разделе «Пользователи> языки».

Мой сайт применяет правильные разрешения для переводов, позволяя вам редактировать только назначенные языки (или переводить тип контента на другом языке), но просто игнорирует правила «узла» и позволяет мне редактировать любой язык, назначенный моей роли пользователя. Затем я попробовал модуль доступа к контенту, но, к сожалению, даже эти правила были проигнорированы. Хотя в узле я разрешаю изменять только тип контента «новости», я могу редактировать любой тип контента.

Я подозреваю, что существует иерархия разрешений, и мой доступ, вероятно, предоставляется из-за разрешений, установленных для принятия изменений назначенных языков, а затем игнорирует разрешения узла, или система разрешений продолжается?

Любые идеи, как обойти эту проблему?

флаг cn
В Drupal разрешения каскадируются, поэтому пользователи всегда будут иметь максимальный доступ в зависимости от разрешений, которые им были предоставлены. Попробуйте удалить разрешения одно за другим, чтобы определить, какое разрешение дает слишком большой доступ. `Хотя в узле я разрешаю изменять только тип контента "новости", я могу редактировать любой тип контента.` -- Это почти наверняка неверная настройка/неправильная настройка где-то в вашей конфигурации. Возможно, вы случайно дали пользователям разрешение на «Администрирование контента» или что-то в этом роде.
mauzilla avatar
флаг cn
Я снял все разрешения (даже мультимедиа) и оставил только просмотр шаблона администратора, а затем CRUD, связанный с типом контента «новости», результаты остаются прежними. Только в «разрешенных языках» (модуль), если я снимаю флажок с языка, я больше не могу редактировать этот узел. Я предполагаю, что разрешенные языки имеют предпочтение и игнорируют дополнительные разрешения. Каковы мои варианты? Я заметил, что модуль «доступ к контенту» имеет «вес», но установка его на -10 или 10 (0 по умолчанию) не влияет
флаг cn
Похоже, это известная проблема с модулем «Разрешенные языки»: https://www.drupal.org/project/allowed_languages/issues/3228286. Это страшная ошибка, и, учитывая, что она не была устранена в течение полугода, я бы не стал использовать такой модуль.
флаг cn
Я голосую за закрытие этого вопроса, потому что вопросы об ошибках в модулях не входят в тему *Drupal Answers*. Ошибки необходимо обрабатывать в очередях задач Drupal.
mauzilla avatar
флаг cn
Я могу подтвердить, что это связано с ошибкой. Я смог исправить это, запустив хотфикс. На данный момент у нас нет возможности запустить модуль разрешенных языков, поэтому мы будем следить за прогрессом с течением времени. Спасибо

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

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