По какой-то причине изменения в настройках безопасности, которые я пытаюсь применить, не работают — при обновлении страницы всё возвращается к настройкам по умолчанию.
Не уверен, что может вызывать такое поведение — не связано ли это с нашей пользовательской темой?
Эта категория общедоступна: все могут просматривать, отвечать и создавать посты. Чтобы ограничить права доступа, снимите одну или несколько разрешений, выданных группе «everyone».
Так что, чтобы убрать разрешение «создание», можно удалить everyone, а затем снова добавить everyone с нужными настройками. Я только что протестировал это на версии 2.9.0.beta3, и всё работает…
На этом скриншоте () кнопка «Новая тема» неактивна.
Однако… когда я обновляю права доступа для категории, снова появляется сообщение «Эта категория общедоступна…», и все флажки отмечены, хотя фактические права остаются прежними: в данном случае отмечены все три чекбокса, но указанная категория позволяет только читать и отвечать, но не создавать новые темы.
Я собираюсь пересобрать свой сайт и ещё раз протестировать, чтобы проверить, сохраняется ли эта проблема.
Знаете что, я на самом деле неправильно понял этот подсказочный текст, и мой мозг придумал обходной путь, хотя ожидаемое поведение на моём сайте не работало.
Поэтому, пожалуйста, забудьте о моём странном хаке, и давайте сосредоточимся на воспроизведении этой ошибки.
Сейчас я на этой версии, и да, проблема сохраняется.
Если вы снимаете галочку с какого-либо пункта, действительно ли это отменяет соответствующее разрешение, даже если после обновления страницы все галочки снова отображаются как отмеченные? У меня работает именно так: если я устанавливаю разрешения, они применяются, но при повторном просмотре страницы с разрешениями все галочки снова отмечаются, хотя сами разрешения остаются активными.
Отличное замечание! Я тоже наблюдаю такое поведение.
Сбросили настройки безопасности, удалив все группы (Нет групп, которым предоставлен доступ; эта категория будет видна только сотрудникам.)
Добавили группу «everyone» со всеми разрешениями (проверили тестового пользователя — работает как ожидалось )
Сняли галочку с разрешения «create» и обновили страницу (на экране отобразилось восстановление всех отмеченных чекбоксов)
Проверили тестового пользователя — он больше не может создавать темы в этой категории, несмотря на то, что экран безопасности показывает, что он может
Аналогичная ситуация возникает при добавлении второй группы вместе с «everyone». Группа «everyone» исчезает из отображения, но разрешения, похоже, применяются.
Когда я перехожу к следующему шагу во втором тесте и добавляю третью группу, кажется, что это переопределяет и удаляет скрытые/фоновые настройки безопасности для «всех». Например:
Сбросить разрешения безопасности, удалив все группы (ни одной группе не предоставлен доступ; эта категория будет видна только сотрудникам.)
Добавлена группа «все» со всеми разрешениями (проверка тестового пользователя — работает как ожидается )
Ограничить видимость для «всех» только определенными элементами (обновить. Все флажки отмечены, но на самом деле они видны только им)
Добавить Group2 со всеми разрешениями (обновить. Группа «все» исчезает, но на самом деле все всё ещё могут видеть)
Добавить Group3 (обновить. Видны Group2 и Group3, группа «все» теперь утратила возможность видеть эту категорию)
Проблема заключается в CategorySerializer и была внесена в коммитеdfaf983.
Это исправление безопасности, которое было портировано обратно, поэтому оно проявляется и в стабильной версии.