2012-05-20 6 views
0

У меня есть приложение Symfony, которое предоставляет интерфейс REST. Когда клиент запрашивает URL-адрес, ресурс проверяет имя пользователя/пароль в URL-адресе и затем предоставляет доступ. Однако контроллер, который проверяет URL-адрес, находится в другом пакете и называется validateCredentialsAction.Как получить доступ к контроллеру в другом комплекте в Symfony?

Как я могу назвать это validateCredentialsAction с другого контроллера в другом комплекте?

ответ

3

Вы можете определить свой контроллер аутентификации как услугу в соответствии с http://symfony.com/doc/master/cookbook/controller/service.html, а затем ввести его в другой контроллер.

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

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