Статьи о создании сайтов

Какие поля разрешать редактировать пользователю

Публичный вывод и право изменения являются разными настройками. Как оставить служебные значения администратору и проверять подмену запросов на сервере.

На этой странице
  1. Разделите владельца записи и полномочия
  2. Настройте определения и раздел
  3. Испытайте чужие идентификаторы
  4. Продолжить работу

Разделите владельца записи и полномочия

Пользователь может владеть публикацией, но не обязан управлять всеми её параметрами. Название и описание могут быть доступны автору, а служебные решения модератора — только администратору. Наличие значения в карточке не означает права его менять.

Например, автор объявления загружает фотографию, но не присваивает себе отметку её проверки. Поле внутреннего статуса не следует превращать в пользовательский список только ради одинаковой формы.

Настройте определения и раздел

В Switch Pages у поля есть user_editable. Для обычного пользователя проверка пропускает изменение запрещённых ему определений. Дополнительно должны быть разрешены пользовательские публикации и редактирование собственных объектов в контейнере; одно поле не отменяет общие правила.

Проверьте форму обычного автора и административный редактор отдельно. Например, изменение заголовка своего объекта должно работать, а попытка передать административную метку напрямую — не менять её. Проверка только отсутствия элемента на экране недостаточна.

Испытайте чужие идентификаторы

Измените ID объекта или контейнера в тестовом запросе и убедитесь в серверном отказе. Авторизация подтверждает пользователя, но не связывает автоматически любой переданный ID с его материалом. Проверка владельца нужна при каждом изменении.

После обновления определений откройте старую запись и убедитесь, что непредназначенные пользователю значения сохранились. Не считайте скрытие поля его удалением и не очищайте служебные данные из-за неполной формы. Для администратора, работающего от имени пользователя, используется отдельный контролируемый режим с журналом; он не должен превращаться в обычную возможность любого аккаунта. Так модель отделяет содержимое автора от решений площадки.

Продолжить работу

Проверьте настройку разными ролями на отдельной копии. Сопоставьте задачу с возможностями ядра. Другой материал этого раздела: Логическое поле: да, нет и неизвестное значение.

← Статьи о создании сайтов

Создайте сайт сами

Посмотрите, как вы будете управлять своим сайтом

Изучите интерфейс Switch Pages и проверьте, подходит ли движок под вашу задачу.

Демо доступно бесплатно после регистрации на основном сайте.