Denis
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
Вышло довольно легковесное и очень гибкое решение
Anonymous
Просто у меня еще на этапе установки выдало " Unrecognized option "0" under "sonata_block.blocks.contexts"." гуглил - ничего внятного
Alexander
Anonymous
мне админка нужна просто для заполнения новостей на сайте, обычным админом. чтоб удобненько было. не более.)
Alexander
По моему что то фиксили, и заливали сегодня.. на этот счет
Вадим
Вадим
Тем более с вотерами гибче получается
Dmitry
Дык тоже самое делает isGranted ;)
Ну так-то да, но почему-то мне реально кажется, что в моем случае это проще будет кастомизировать с ростом проекта ) Хотя могу и ошибаться )
Хотя мне нравится, что isGranted можно в аннотациях прописывать, тоже удобно )
Вадим
Этот код который у тебя в ф-и, вынести в вотер и все
Вадим
Вадим
И гибкости больше
Dmitry
Спасибо, обдумаю и почитаю как это можно еще расширить в этом направлении )
Вадим
Product Owner Sergey
мля тут симфони разрабы есть?
Product Owner Sergey
Anatoliy
Что то интересует? 😌
Vadim
Сила в правде!
А чего не инжектить репозиторий?
Product Owner Sergey
А что лучше
Сила в правде!
Хм. Я еще так не делал. А можете показать на моем примере как это правильно реализовать?
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 будет жить. Поприветствуем!
Dmitry
Anonymous
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].
что делать?
Vadim
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
всем привет. вопрос конечно же не в тему. тут такое я отбранчавался гитом от определенной ветки, сделал коммит и вылился. а оказалось что отбранчиватся нужно было от мастера. как сделать так чтобы моя ветка была ответлена от мастера?
Anonymous
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;
}
можно как-то из существующего файла создать сущности ?
Vadim
Alexander
Ты ее уже определил как сущность @ORM\Entity()
Anonymous
это кусок кода из реадми, я думал просто руками создать файл AcceccToken и запустить команду чтобы она в базу записала что нужно, но какую команду ХЗ
Vadim
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
artem
или doctrine:schema:update —force
artem
вроде так
Anonymous
еще туда же вопрос , если из консоли генерить (симфония3.4) сущность выходит как то так: AppBundle/AccessToken а в реадми код для App/AccessToken, есть ли разница? или можно просто забить и сделать все классы AppBundle (все это в папке /src/AppBundle/Entity вроде как должно быть?)
Vadim
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
дак она менятся скорее всего не будет, имхо