All streams
Search
Write a publication
Pull to refresh
1
0
Mikhail Leonov @Leonoff

CTO

Send message
Как раз этот 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)
По информации с codefest CDN только в ближайщих планах.
Спасибо за статью. Только действительно не понятно зачем изобретать велосипед. Взять тот же mustache, чем вам он не угодил?
Судя по своему опыту могу сказать что делать задачу интересную, пусть и трудоемкую, намного легче чем рутинную. Рутина, в моем понимании, сводится к однотипным действиям (будь то копи-паст; будь то правки существующего кода, но с «однотипными» заменами).

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity