
Maksim
01.08.2018
17:59:20
Прям из конструктора, если там не надцать аргументов. А если надцать, то хернёй попахивает)

F01134H
01.08.2018
17:59:35
почему херней
не видел что ли никогда дтошки большие?

Maksim
01.08.2018
18:00:19
Группировать пробовал?)

Google

f4rt~
01.08.2018
18:00:51

F01134H
01.08.2018
18:01:42
Годится.
Спасибо

f4rt~
01.08.2018
18:01:58
обычно больше 3-х свойств уже можно логически сгрупировать в объект

F01134H
01.08.2018
18:02:42
лан сделаю компоновщик
так будет луче
там и правда можно логически разделить

Maksim
01.08.2018
18:03:47
У меня структурки огромные летают. По 2-3 сотни свойств в сумме. И проблем особых нет)

F01134H
01.08.2018
18:07:00
потом может гляну, под конец рабочего дня лень разбираться) Сейчас просто компоновщик сделаю и хватит

f4rt~
01.08.2018
18:07:18

Google

Maksim
01.08.2018
18:08:50

Andrew
01.08.2018
19:09:17
Вечер всем добрый, хотел бы узнать кто как реализует Юзер -> Роль -> Права связку. Как определить какуой юзер с какой ролью имеет какие права, на то или иное действие. Важно что юзер может иметь несколько ролей, а одни и те же роли могут иметь те же права

Sergey
01.08.2018
19:42:02
ну мол у тебя одна роль имеет определенные права. если у тебя есть права которые общие для роли - возможно есть возможность выделить общую роль
и организовать иерархию ролей
ну и если мы про симфони - всегда есть воутеры

Andrew
01.08.2018
19:43:04
да, про симфу
как пермишенсы определять?
у меня 2 варианта на уме
1 - хардкодить
2 - брать по роутам, то есть каждый роут это право его использовать
первый поход вынуждает каждый раз создавать право, к примеру редактировать пост в блоге, во втором подходе проще, ссылка на редактирование, ссылка на сохранение редактирования.

Sergey
01.08.2018
19:45:42
denyAccessUnlessGranted('SOME_ACTION', $entityOnWhichActionShouldBePerformed)
вообще не вижу проблемы

Andrew
01.08.2018
19:46:52
SOME_ACTION это как я понимаю захардкожено

Sergey
01.08.2018
19:47:15
ну можно сослаться на какую-то константу
$this->denyAccessUnlessGranted(
PostPermissions::EDIT, $post
);
за проверку у тебя будет отвечать воутер, который может много чего разруливать. можно не сущность передавать а что-то еще, айдишку
можно много чего придумать, вопрос что и как ты делаешь)
и какого рода проверки должны быть. Что-то простое (юзер зашел под ролью контент менеджера) или (зашел менеджер и он имеет право на действия в категорий к которым пост пренадлежит)
в любом случае вся разница будет на уровне один у тебя будет воутер или много
главное совет - никогда не завязывай проверки прав на UserInterface. у тебя есть TokenInterface

Google

Георгий
01.08.2018
19:50:36
Всем добрый вечер , возникла проблемма связки php и python . Есть со стороны PHP php-amqplib/rabbitmq-bundle со стороны Python pika. Пока rabbitmq-bundle не создала точку обмена (exchange) в питоне не прявязать точку обмена к очереди. Может кто сталкивался, как это сдеать ?

Sergey
01.08.2018
19:50:41
ну мол... если ты делаешь $token->getUser()->isAdmin() - ты будешь страдать
у rabbtmq bundle вроде было для этого консольная команда

Andrew
01.08.2018
19:51:51
@fes0r почему token->getUser()->isAdmin такой подход вызовет боль?

Sergey
01.08.2018
19:52:20
у тебя уже есть готовая абстракция для текущей авторизационной сессии - TokenInterface

Maksim
01.08.2018
19:52:47

Sergey
01.08.2018
19:53:02

Maksim
01.08.2018
19:53:34

Bohdan
01.08.2018
19:53:45

Maksim
01.08.2018
19:53:56

Sergey
01.08.2018
19:53:59

Andrew
01.08.2018
19:53:59
@fes0r то есть фаш подход это завязка на компоненте секурити, воутерах и константах, для проверки каждый раз тянем юзера из БД по id, да?

Sergey
01.08.2018
19:54:19

Bohdan
01.08.2018
19:54:23
а он у тебя по идее уже вытянут
юзерпровайдер постарался

Sergey
01.08.2018
19:54:34
говорю - у меня проверки прав на token завязаны

Maksim
01.08.2018
19:54:44

Andrew
01.08.2018
19:54:48
@fes0r если не из токена, то откуда?

Google

Sergey
01.08.2018
19:54:54
а юзера я достаю только если мне надо на него сослаться (хотя по факту если у тебя не JWT какой то у тебя симфони будет юзера тянуть всегда)

Andrew
01.08.2018
19:55:20
фронт пока не делал)

Sergey
01.08.2018
19:55:29

Георгий
01.08.2018
19:55:34

Maksim
01.08.2018
19:55:57

Sergey
01.08.2018
19:55:57

Георгий
01.08.2018
19:57:04
Python ругаеться что точка обмена уже есть

Sergey
01.08.2018
19:57:19
просто заигнорь)

Maksim
01.08.2018
19:57:28
ну окей, в чём проблема)

Admin
ERROR: S client not available

Andrew
01.08.2018
19:57:54
как проверить права текущего юзера, в ларавел делал миддлеваре, где тянул текущего юзера, его роль, и захардкоженые пермишенсы. Пермишенсы были привязаны по ссылкам. То есть, user/create (название текущего роута) если у текущего юзера которого взяли из бд, есть роль у которой есть право user/create, пропускаем его дальше

Maksim
01.08.2018
19:57:58
а ещё amqp позволяет чекнуть есть ли эксчендж) ну если игнорить не любишь)

Andrew
01.08.2018
19:58:25
если не тянуть из токена и не из базы данных юзера, то как мы узнаем какая роль у текущего юзера, и какие у роли права
к тому же, подход должен рабоатть как для twig так и для api

Maksim
01.08.2018
20:04:13
я лично не вижу никакой проблемы в том, что бы создавать очереди\обменники\бинды на лету) просто, понятно, легко запомнить)

Bohdan
01.08.2018
20:07:32
@fes0r есть время обсудить твое решение по graphql?
мне пока ничерта не понятно, в каком месте оно интегрируется в webonyx
сигнатура дефолтного резолвера отличается - это раз
где и когда нужно дергать локатор резолверов и как их цеплять на поля - это два
работает ли оно со схемой, описанной через sdl - три

Sergey
01.08.2018
20:11:15

Bohdan
01.08.2018
20:11:38
хе, а я-то ищу и пытаюсь вникнуть)

Google

Георгий
01.08.2018
20:11:54

Bohdan
01.08.2018
20:12:18
насколько подозреваю - там все же должен быть соответствующий сигнатуре дефолтный резолвер, который уже будет дергать локатор и остальные резолверы, так?

Maksim
01.08.2018
20:12:41

Sergey
01.08.2018
20:13:07

Георгий
01.08.2018
20:13:13

Maksim
01.08.2018
20:13:30

БОГАТЫРЪ
01.08.2018
20:13:54

Георгий
01.08.2018
20:14:08

Maksim
01.08.2018
20:14:31
лучше, чем вариант с проверкой)

БОГАТЫРЪ
01.08.2018
20:15:02
ребят, есть ли в таком каком-то бд распределнный тип, то есть бд если полностью забит, то оно распределяется
знаю касандру, а вот в mariadb есть это?

Maksim
01.08.2018
20:15:34
лови наркомана)

Георгий
01.08.2018
20:15:39
Спасибо за помощь.

БОГАТЫРЪ
01.08.2018
20:15:52

Sergey
01.08.2018
20:16:37
но не надо тебе туда лесть с такими вопросами)

БОГАТЫРЪ
01.08.2018
20:17:05
всм

Sergey
01.08.2018
20:17:36
ну всмысле если ты не знаешь что такое шардинг и какие проблемы это несет (и какой ценой эти проблемы решены в касандре) - то не надо тебе в продакшене шардинги делать
пока индексы в память помещаются - не рыпайся (а это сегодня под сотню гигов спокойно)

БОГАТЫРЪ
01.08.2018
20:18:20

Sergey
01.08.2018
20:18:30