symfony 1.4 security.yml перезаписывает конфигурацию учетных данных по умолчанию - PullRequest
1 голос
/ 08 декабря 2011

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

Есть ли способ сбросить учетные данные для этого единственного действия? Я пытался использовать ноль, но все равно получаю 403 Ошибка. Является ли перечисление всех действий в security.yml единственным решением?

default:
  credentials: [ admin ]

public:
  credentials: null

Ответы [ 3 ]

2 голосов
/ 08 декабря 2011

Вы пытались установить пустой массив или учетные данные?

public:
  credentials: [ ]
0 голосов
/ 08 декабря 2011

Вы должны написать все разрешенные учетные данные внутри публичного действия, если вы хотите, чтобы оно было доступно для зарегистрированных пользователей со всеми учетными данными ( sf1.4 ссылка на объявление )

.. или вы можете открыть действие всему миру:

default:
  is_secure: true

myPublicAction:
  is_secure: false
0 голосов
/ 08 декабря 2011

Да, вам нужно будет перечислить все действия, если вы хотите детально контролировать, кто имеет доступ к чему.

Или еще один способ (хотя и некрасивый) - установить для действия, которое не требует никаких учетных данных, значение is_secure : false, а затем проверить, аутентифицированы ли они с помощью действия в контроллере.

Кроме того, если вы хотите сделать это с помощью учетных данных, то вы должны установить для каждого пользователя учетные данные по умолчанию. то есть с учетными данными под названием «пользователь»

Из интереса: сколько у вас действий для этого модуля?

РЕДАКТИРОВАТЬ: Кроме того, что произойдет, если вы используете ~ вместо null?

...