Как раз этот HowTo меня и завел за угол немного. Суть в том что для авторизации по типу wsse/http-basic и прочих действительно удобней писать фаервол имплементируя ListenerInterface — когда нам действительно необходимо отличное от стандартного поведение и мы пишем файрвол с нуля. Но так как мне надо было просто написать свой, альтернативный form_login, со своим token'ом и правилами обработки(при этом не ущемляя, скажем стандартный form_login, а просто добавляя свой рядом), то мне в итоге было намного удобней и логически правильней наследоваться от AbstractAuthenticationListener в фаерволе. Там уже есть определенный handle(), который более чем устраивает(например уже написана работа с сессией), но надо определить только attemptAuthentication() — который нам «попробует» авторизовать пользователя.
В общем, прочел я сначала ХауТу, начал писать свой файрвол «с нуля». В определенный момент пришло осознание что пишу, откровенно, велосипед. Муки поисков в Api Reference дали плоды. Найден AbstractAuthenticationListener, логика работы стала «прозрачной» и все довольны.
з.ы. Авторизация моя в общей сложности переписывалась 2 раза. На третий я получил вариант которым доволен.
з.з.ы. извините если сумбурно:).
Спасибо за перевод. В статье показан абсолютный минимум возможностей, а конкретно только встроенный DaoAuthProvider — form_login. Шаг влево, шаг вправо — расстрел.
Я пару месяцев назад столкнулся с необходимостью написания своего метода авторизации для sf2 на основе Security компонента(бандл от FOS не подходил и слишком громоздкий, а базового Security не хватало). Так вот, пришел к выводу что вся имеющаяся документация настолько сыра, насколько это можно только представить. После длительного анализа апи-референс я все таки написал то что хотел, но осадочек от недостатка документации остался.
Любопытная статистика.
Однажды я решил поискать сколько symfony проектов лежит на продакшен серверах с открытым web-дебагом. Статистика, знаете-ли была не менее любопытной. (хинт: g inurl:frontend_dev.php -source -browser)
Судя по своему опыту могу сказать что делать задачу интересную, пусть и трудоемкую, намного легче чем рутинную. Рутина, в моем понимании, сводится к однотипным действиям (будь то копи-паст; будь то правки существующего кода, но с «однотипными» заменами).
В общем, прочел я сначала ХауТу, начал писать свой файрвол «с нуля». В определенный момент пришло осознание что пишу, откровенно, велосипед. Муки поисков в Api Reference дали плоды. Найден AbstractAuthenticationListener, логика работы стала «прозрачной» и все довольны.
з.ы. Авторизация моя в общей сложности переписывалась 2 раза. На третий я получил вариант которым доволен.
з.з.ы. извините если сумбурно:).
Я пару месяцев назад столкнулся с необходимостью написания своего метода авторизации для sf2 на основе Security компонента(бандл от FOS не подходил и слишком громоздкий, а базового Security не хватало). Так вот, пришел к выводу что вся имеющаяся документация настолько сыра, насколько это можно только представить. После длительного анализа апи-референс я все таки написал то что хотел, но осадочек от недостатка документации остался.
Однажды я решил поискать сколько symfony проектов лежит на продакшен серверах с открытым web-дебагом. Статистика, знаете-ли была не менее любопытной. (хинт: g inurl:frontend_dev.php -source -browser)