У меня проблемы с пониманием ключевой концепции Symfony 2.
Я работаю над веб-сайтом, на котором пользователи могут создавать контент, который затем можно отправлять другим людям, используя секретный URL-адрес. Что-то вроде www.yoursite.com/{secret-identifier-string}.
Я планирую сделать это следующим образом:
- Сохраняйте содержимое пользователя.
- Создайте строку идентификатора, содержащую идентификатор контента и отметку времени создания (или любой другой контент, который никогда больше не изменится, в качестве дополнительной функции безопасности) с методом двустороннего шифрования (например,
mcrypt_encrypt
). - Создайте ссылку и покажите ее пользователю, чтобы отдать
- Всякий раз, когда вызывается URL-адрес, строка идентификатора будет расшифрована. Если предоставленная метка времени соответствует соответствующему значению строки идентификатора контента, страница будет отображаться.
Мои вопросы:
- Считаете ли вы это хорошей процедурой в целом?
- Вне Symfony2 я бы создал вспомогательные методы, такие как
getIdentifierString()
иgetContentPageLink()
. Где разместить соответствующий код в Symfony2? Принадлежит ли он к классу сущностей? Если это так, у меня проблемы, потому что я использую класс обслуживания для шифрования. Услуга доступна только в контроллере.
Большое спасибо!