в Symfony пакет безопасности


Мой security.yml:

all:
  is_secure: true

new:
  credentials: [add_ticker_source]
edit:
  credentials: [edit_ticker_source]
delete: 
  credentials: [delete_ticker_source]
batchDelete: //I don't know whether it is correct. Should it be batch_delete?
  credentials: [delete_ticker_source]
batch_delete: 
  credentials: [delete_ticker_source]

index: 
  is_secure: false

В моем generator.yml я добавил

  list:
    batch_actions:
      _delete: {credentials: delete_ticker_source}

Затем я прокомментировал последние две строки и открыл список в моем браузере. Таким образом, в моем представлении списка в браузере я могу видеть удаление в раскрывающемся списке пакетных действий. Теперь я раскомментировал их и не обновлял браузер. Я выбрал некоторые элементы из списка, выбрал удалить в раскрывающемся списке пакет и нажал go. Эти элементы удаляются мгновенно. Означает ли это, что пакетное удаление не безопасно?? Или кто-нибудь может удалить по вынюхивать вокруг??

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

P.S.: И нет, пользователь, с которым я вошел в систему, не имеет учетных данных delete_ticker_source (как сказано в web debug bar).
1 2

1 ответ:

Я попробовал ваши настройки и все же удивляюсь этому неожиданному поведению. Поэтому я прошелся по коду и, наконец, обнаружил, что для защиты действия batchDelete мы должны поместить настройку внутри generator.yml таким образом, под config > actions :

config:
  actions:
    batchDelete:
      credentials: [user_permission]

Послушно user_permission является delete_ticker_source для вас.