Denis
https://symfonycasts.com/screencast/symfony-security
Denis
https://symfony.com/doc/current/security.html
Denis
пример оттуда же
Denis
/** * @Route("/admin/comment", name="comment_admin") * @IsGranted("ROLE_ADMIN") */
Anonymous
👍
Anonymous
@webjust будет жить. Поприветствуем!
Product Owner Sergey
))
Product Owner Sergey
парни а в этой группе можно найти symfony -терминатора на доработку?
Product Owner Sergey
вообще можно на эту тему писать?
Anonymous
@btexnikus будет жить. Поприветствуем!
Anonymous
Всем привет. А тут новичков приветствуют?)
Dmitry
Dmitry
Выглядит это примерно так
Dmitry
Anonymous
Да у меня вопрос насчет Sonata под 4-ю версию. Нормально он работает? Или им лучше не пользоваться?)
Dmitry
А в твиге надо всего лишь: {% if getUserPermission('usersAccessEditAction') %} something {% endif %}
Dmitry
Вышло довольно легковесное и очень гибкое решение
Alexander
Да у меня вопрос насчет Sonata под 4-ю версию. Нормально он работает? Или им лучше не пользоваться?)
Нормально если пользоваться 50% функциями, если больше и сложными - то будешь зависать в слаке или вопросах github)) Субъективное правда мнение)
Anonymous
Просто у меня еще на этапе установки выдало " Unrecognized option "0" under "sonata_block.blocks.contexts"." гуглил - ничего внятного
Alexander
А в твиге надо всего лишь: {% if getUserPermission('usersAccessEditAction') %} something {% endif %}
Ну такое. Два запроса выполняется, уже бы одним делал (тут подумать стоит).
Anonymous
мне админка нужна просто для заполнения новостей на сайте, обычным админом. чтоб удобненько было. не более.)
Alexander
По моему что то фиксили, и заливали сегодня.. на этот счет
Вадим
Тем более с вотерами гибче получается
Dmitry
Дык тоже самое делает isGranted ;)
Ну так-то да, но почему-то мне реально кажется, что в моем случае это проще будет кастомизировать с ростом проекта ) Хотя могу и ошибаться ) Хотя мне нравится, что isGranted можно в аннотациях прописывать, тоже удобно )
Вадим
Этот код который у тебя в ф-и, вынести в вотер и все
Вадим
И гибкости больше
Dmitry
Спасибо, обдумаю и почитаю как это можно еще расширить в этом направлении )
Product Owner Sergey
мля тут симфони разрабы есть?
Product Owner Sergey
Anatoliy
Что то интересует? 😌
Сила в правде!
А чего не инжектить репозиторий?
Vadim
мля тут симфони разрабы есть?
Нет, мы пишем на Ларавеле, а название чата служит лишь прикрытием, чтобы не позориться.
Product Owner Sergey
А что лучше
Dmitry
А чего не инжектить репозиторий?
Хм. Я еще так не делал. А можете показать на моем примере как это правильно реализовать?
Сила в правде!
Хм. Я еще так не делал. А можете показать на моем примере как это правильно реализовать?
class GetUserPermission { private $userAccessRepository; public function __construct(UserAccessRepositry $userAccessRepository) { $this->userAccessRepository = $userAccessRepository; } public function getUserPermission($action) { $action = $this->userAccessRepository->findOneBy(['action' => $action]); // дальше ваш код } }
Сила в правде!
Просто вы инжектите целый EntityManager, чтобы достать репозиторий и обратиться к его методу, когда можно просто инжектить репозиторий.
Anonymous
@maksim_laktionov будет жить. Поприветствуем!
Anonymous
composer require pe/symfony-bundle-oauth2-server "1.0.x-dev" окей, дальше вроде как надо поставить другую либу, пробую composer require league/oauth2-server Problem 1 - pe/symfony-bundle-oauth2-server 1.0.x-dev requires league/oauth2-server ^7.0 <7.1 -> satisfiable by league/oauth2-server[7.0.0] but these conflict with your requirements or minimum-stability. - pe/symfony-bundle-oauth2-server 1.0.x-dev requires league/oauth2-server ^7.0 <7.1 -> satisfiable by league/oauth2-server[7.0.0] but these conflict with your requirements or minimum-stability. - pe/symfony-bundle-oauth2-server 1.0.x-dev requires league/oauth2-server ^7.0 <7.1 -> satisfiable by league/oauth2-server[7.0.0] but these conflict with your requirements or minimum-stability. - Installation request for pe/symfony-bundle-oauth2-server 1.0.x-dev -> satisfiable by pe/symfony-bundle-oauth2-server[1.0.x-dev]. что делать?
Anonymous
вроде как поехало composer require pe/symfony-bundle-oauth2-server "1.0.x-dev" но теперь другая ошибка, не понимаю надо еще guzzle установить? An error occurred when executing the "'cache:clear --no-warmup'" command: In PEOAuth2ServerExtension.php line 116: One of ["guzzlehttp\/psr7","zendframework\/zend-diactoros"] composer packag es is required или он хочет php7 ?
Vadim
А что, не пхп7 стоит?
Anonymous
5.6 надо именно эта версия пока что. Понятно, надо 7ка https://oauth2.thephpleague.com/requirements/
Anonymous
Объясните вот бандл PavlenkoOauth написано что он This bundle integrates with league/oauth2-server. это значит что надо ставить league/oauth и таким образом без пых7 не обойтись. Или pavlenko/oauth должен работать без установки league? поставил php 7 все равно One of ["guzzlehttp\/psr7","zendframework\/zend-diactoros"] composer packages is re quired поставил газл все ок , почему в доках не пишут я куею.
Alexander
Всем привет. Я правильно понимаю, контент файла я могу достать лишь file_get_contents? Finder по циклу ганяет файлы директории, что не удобно когда ищется один файл, в любом случае в цикл лезть. классом File можно лишь узнать сушествование файла и другие данные о файле, но не получить контент. Filesystem тоже не удел. Вопрос чисто для опыта, может где упустил что-то)
artem
всем привет. вопрос конечно же не в тему. тут такое я отбранчавался гитом от определенной ветки, сделал коммит и вылился. а оказалось что отбранчиватся нужно было от мастера. как сделать так чтобы моя ветка была ответлена от мастера?
artem
не то
Anonymous
есть таск Create entities ```php <?php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; / * @ORM\Entity() * @ORM\Table(name="oauth2_access_tokens") */ class AccessToken extends \PE\Bundle\OAuth2ServerBundle\Model\AccessToken { / * @ORM\Id() * @ORM\Column(type="guid", unique=true) * @ORM\GeneratedValue(strategy="CUSTOM") * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator") * * @var string */ protected $identifier; } можно как-то из существующего файла создать сущности ?
Alexander
Ты ее уже определил как сущность @ORM\Entity()
Anonymous
это кусок кода из реадми, я думал просто руками создать файл AcceccToken и запустить команду чтобы она в базу записала что нужно, но какую команду ХЗ
Alexander
https://symfony.com/doc/current/doctrine.html
Vadim
php bin/console doctrine:migrations:diff php bin/console doctrine:migrations:migrate
artem
bin/console doctrine:generate:entities MyBundle/Entity
Vadim
bin/console doctrine:generate:entities MyBundle/Entity
У него уже есть сущность, он её в базу хочет
artem
или doctrine:schema:update —force
artem
вроде так
Anonymous
еще туда же вопрос , если из консоли генерить (симфония3.4) сущность выходит как то так: AppBundle/AccessToken а в реадми код для App/AccessToken, есть ли разница? или можно просто забить и сделать все классы AppBundle (все это в папке /src/AppBundle/Entity вроде как должно быть?)
Vadim
Ты хоть покажи, что за ридми.
Anonymous
https://packagist.org/packages/pe/symfony-bundle-oauth2-server значит просто делаю все классы AppBunlde записываю файлы и делаю миграцию, спасибо.
Vadim
Это неймспейс называется, на будущее.
Anonymous
Это неймспейс называется, на будущее.
я знаю , просто если писать , поместить класс в другой неймспейс, дольше чем сказать сделать класс AppBundle ( понятно что изменение суффикса и все) )) спасибо в любом случае
Vadim
Можно просто написать "под неймспейсом". Тебя поймут, не переживай. Ладно, это уже кому как.
Anonymous
И еще одно, можно ли в файле AccessToken.php записать все классы или нужно для каждого класа отдельно файл создавать?
Vadim
Один класс — один файл.
Anonymous
это рекомендация по стилю или обязательное правило?
Vadim
Обязательное правило и рекомендация по стилю.
Vadim
Очень удобно будет искать сущность User в файле на 1000+ строк?
Anonymous
дак она менятся скорее всего не будет, имхо