Symfony2 - принудительное использование для выполнения необходимого действия

Существуют бизнес-кейсы, когда за конкретными действиями или запросами «должно» следовать завершающее действие или запрос.

Примером, с которым мы все знакомы, является требование входа в систему для доступа к безопасным областям.

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

Теперь я знаю способы реализовать это в Symfony2 (добавлять прослушиватели запросов и перенаправлять при необходимости), однако в настоящее время я не полностью понимаю, как это сделать, моя главная забота заключается в том, как безопасно указать, какие действия считаются годные продолжения.

Я ищу либо а) лучшую методологию для решения этой проблемы, либо б) подробную информацию о любых существующих пакетах или функциях, уже встроенных в Symfony2, которые предназначены для этого.

Я немного обеспокоен тем, что, возможно, ответил на собственный вопрос, когда упомянул систему входа в систему, однако мне еще предстоит изучить внутреннюю работу Symfony2 Security Bundle, чтобы определить, можно ли повторно использовать код.


person Flosculus    schedule 30.05.2013    source источник


Ответы (1)


Когда запрос заканчивается, сразу после него приходит другой, верно? Вместо того, чтобы делать что-то в конце запроса, вы можете делать что-то в начале другого запроса. Затем вы можете проверить, может ли пользователь получить доступ к приложению и т. д., см. документацию по безопасности. Это помогает?

Как правило, выполнение каких-либо действий в конце запроса не является общепринятой практикой, но вы можете (см. событие terminate), Symfony2 использует это событие для отправки электронных писем.

person julesbou    schedule 30.05.2013