@symfony_php

Страница 439 из 1418
Vladislav
03.12.2017
11:21:37
я пытался пофиксить это, но не было времени еще. в туду себе добавил. крч есть два бандла: hautelook и rad-fixtures второй требует определенного порядка загрузки файлов, чтобы работали ссылки. типа User.yml Team.Yml: team: user: @user1 будет работать только тогда, если User файл был прочитан бандлом первым. Hautelook работает хорошо в этоп плане, но я нагенерил больше 10к обьектов в сумме и у меня фикчерсы грузятся мин 3. с отключением сборщика мусора будет на 30 проц быстрее.

Boris
03.12.2017
11:28:41
Не пойму, а для чего бандл если можно сразу напрямую юзать либу?

Vladislav
03.12.2017
11:36:09
ну можешь написать свою консольную команду в принципе, но я не думаю что от этого что-то поменяется, если ты захочешь загрузить все файлы сразу чтобы работали ссылки между файлами. $objectSet = $loader->loadFile(__DIR__.'file.yml');

хотя я могу ошибаться

Google
Boris
03.12.2017
12:35:39
Для четверки тоже кастомный провайдер нужно как сервис добавлять? https://github.com/hautelook/AliceBundle/blob/v1.4.1/src/Resources/doc/faker-providers.md

Sergey
03.12.2017
14:01:43
один из вариантов
тебе сказать что там не ок?)

слишком сложно для такой простой штуки

Andrey
03.12.2017
14:05:19
framework-agnostic, и делали специально для примера архитектуры. По нему писали статью о слоях приложения

Sergey
03.12.2017
14:50:05
ну вот придет человек и посмотрит на это дело... и ничего не поймет. И сделает один из двух неправильных выводов - делать как там бездумно или все эти академические подходы нинужны, пойду на yii писать

именно по этому нет смысла смотреть маленькие проекты с такой архитектурой, а большие никто смотреть точно не будет

vlad
03.12.2017
16:24:56
всем привет

ребята, есть ли туториал - как настроить fosuserbundle для pop up окна?

буду очень благодарен, если кто-то скинет

гуглил, но там всё обрывками и сложно связать их с моим уровнем

Andrew
03.12.2017
16:48:03
ребята, есть ли туториал - как настроить fosuserbundle для pop up окна?
что такое попап окно в твоей терминологии? http basic auth? oauth? бутстраповая модалочка с формочкой?

Google
Vladislav
03.12.2017
16:49:26
есть туториал: 1) зайти в гугл 2) погуглить

Arky
03.12.2017
17:07:44
https://symfony.com/doc/3.3/security/guard_authentication.html вот пример по токенам
А как это использовать? Типа создать логин форму, и при успешном логине выводить:"You're api key is ..." и потом его использовать в апи. Или как?

Sergey
03.12.2017
17:09:28
тебе надо сам алгоритм, идею понять

Sergey
03.12.2017
17:15:16
Для чего?) Несовсем понятно)
ну ты ж не понимаешь как работает аутентификация/авторизация

Sergey
03.12.2017
17:17:27
Почему ты так решил?)
анализирую твои вопросы

Pavel
03.12.2017
17:19:54
В 4 симфони сесурити бандл такой же магический остался?

Sergey
03.12.2017
17:20:33
Pavel
03.12.2017
17:20:53
Ну понятно, что могу не юзать

Sergey
03.12.2017
17:22:12
ну и не могу сказать что он "мегический".

в целом он довольно простой, просто много всего

и некоторые простые вещи вообще не легко сделать

Pavel
03.12.2017
17:22:56
Ну блин, в конфиге даешь роут (не название даже роута) и он на него навешивает магию, это очень стремно

Для логина, имею в виду

Danil
03.12.2017
17:29:16
Кто навешивает магию?

Может стоит разульку сходить в исходники и увидеть, что нет там магии

Pavel
03.12.2017
17:30:07
Ходил

Danil
03.12.2017
17:30:39
Я ничего криминального не увидел

Google
Arky
03.12.2017
17:32:33
анализирую твои вопросы
Ну например, как я могу залогинится через постмен? Мне нужно получить токен.

Pavel
03.12.2017
17:32:50
Автозирация происходит внутри бандла и если смотреть на контроллер то он ничего не скажет о том что на нем происходит авторизация. Ты в конфиг прописываешь роут на логин и все просиходит без твоего вмешательства в контроллер. Бандл сам вырывает реквест, может действовать на респонс и тд

Danil
03.12.2017
17:33:08
Ну логично

Pavel
03.12.2017
17:33:21
Нет, не логично, вообще

Danil
03.12.2017
17:33:30
Контроллер не должен авторизировать

Контроллер прост получает данные

Sergey
03.12.2017
17:34:25
Контроллер прост получает данные
авторизовать - должен. А вот аутентификацию он должен делигировать

ну и авторизацию делигировать тоже можно

Danil
03.12.2017
17:34:45
Нужно)

Sergey
03.12.2017
17:35:08
Всмысле?)
что в смысле? вот тебе надо что-то получить от апишки. Как ты это будешь делать?

Danil
03.12.2017
17:35:37
Ну в плане контроллер может дергать тот же воутер, который уже разруливает

Pavel
03.12.2017
17:35:42
Было бы логично прокидывать какой-нибудь обьект в экшн чтобы с помощью него авторизовать юзера, а тут просто без тебя все происходит и чтобы что-то поменять в цепочке скорее всего придется тупо написать свои провайдеры, сервисы и прочее. Я уже не говорю о том, что бандл дает возможность своих классов авторизовываться только по логину и паролю

Sergey
03.12.2017
17:35:53
Ну в плане контроллер может дергать тот же воутер, который уже разруливает
давайте не будем усложнять тему разделением ответственности

Arky
03.12.2017
17:35:56
Sergey
03.12.2017
17:36:04
а потом пихай его в заголовки

Arky
03.12.2017
17:37:13
ну вот, так ты токен получишь
Чтоб получить токен надо залогиниться)

Sergey
03.12.2017
17:37:40
получение токена - аутентификация.

Google
Sergey
03.12.2017
17:37:46
ты используешь одни креды что бы получить другие

у тебя есть email и пароль, как мне получить токен?

вот послал ты email и пароль, что тебе с ними надо сделать? как убедиться что они правильные?

Arky
03.12.2017
17:39:49
Sergey
03.12.2017
17:40:05
давай пока забудем о symfony/security

и о симфони вообще

Arky
03.12.2017
17:47:41
ну типа получаем из переменной post эмаил и пароль, биндим sql запрос со значениями из переменой и считаем сколько столбцов с этим эмейлом и паролем, если больше нуля, то происходит аутификация. Я так делал когда только начал изучать php и не использовал фреймворки)

Admin
ERROR: S client not available

Sergey
03.12.2017
17:49:58
будет шифроваться в запросе)
в чем разница между шифрованием и хэшированием?

зачем мы хэшируем пароли?

короч ладно

намекну

Arky
03.12.2017
17:53:26
зачем мы хэшируем пароли?
Что их нельзя было перехватить и украсть, и взять из бд)

Sergey
03.12.2017
17:54:07
Что их нельзя было перехватить и украсть, и взять из бд)
короч не суть. Суть в том что твоя СУБД умеет максимум sha256 для хэширования или чего такого. Зачем намерянно себя ограничивать тем что умеет твоя СУБД?

тем более - если есть password_hash

если ты эту функцию не знаешь - почитай. А еще почему там юзается bcrypt а не md5 (и в 7.2 изменили на argon2)

Arky
03.12.2017
17:55:09
тем более - если есть password_hash
Тогда я не знал и юзал md5() )

vlad
03.12.2017
17:55:23
бутстрап модалочка с формой

Google
vlad
03.12.2017
17:55:24
что такое попап окно в твоей терминологии? http basic auth? oauth? бутстраповая модалочка с формочкой?

Sergey
03.12.2017
17:55:28
Тогда я не знал и юзал md5() )
у тебя вообще симфони, хз зачем ты сам пароли начал хэшить

короч в любом случае - тебе надо задаться вопросом хочешь ли ты что бы у тебя логин зависел от того что умеет твоя база или нет

Arky
03.12.2017
17:56:37
Sergey
03.12.2017
17:57:46
Мы же забыли выше о симфони )
не суть, у тебя проблемы со следующими вещами как я вижу: - связанность. Ты вяжешь все в месте. Это типичная проблема начинающих - не умение абстрагироваться от деталей. Твое объяснение должно было выглядеть как "ну мы достаем пользователя по email и проверяем пароль". Как проверять - не важно. ОТкуда достаем - из базы или из массивчика - тоже детали.

ну или выделять важное и неважное

отсюда каша

и много вопросов

Arky
03.12.2017
17:58:44
бутстрап модалочка с формой
Просто замени в ней inputы на {{form.login}} и усе)

Sergey
03.12.2017
17:58:45
+ пробуй когда что-то ищешь, например "как делать авторизацию" искать что-нибудь о типичных ошибках

Sergey
03.12.2017
17:59:08
@fes0r заметил что в симфони нынче в контоллеры инжектят не в конструктор, а через дабл диспатч прям в экшены?

https://github.com/symfony/demo/blob/master/src/Controller/BlogController.php#L51

Sergey
03.12.2017
18:00:04
p.s. если что - я уже года полтора так делаю)

просто теперь мой кастыль не нужен для этого)

Sergey
03.12.2017
18:00:37
ну так об этом то и речь)

vlad
03.12.2017
18:00:40
у меня проблема в том, что авторизация-то работает только вот если ввёл неверные данные - то меня перекидывает на страницу /login, стандартную

Просто замени в ней inputы на {{form.login}} и усе)

Sergey
03.12.2017
18:00:53
да и invokable контоллеры тоже в принципе не очень то и нужны

vlad
03.12.2017
18:01:07
а как поймать ошибку и вывести её на моей форме - не могу найти

Sergey
03.12.2017
18:01:09
да и invokable контоллеры тоже в принципе не очень то и нужны
вообще бесполезная тема, и action bundle бесполезная хрень

поощряет писать логику в контроллерах

Страница 439 из 1418