docs(articles): Magento and Symfony examples side by side, request lifecycle as a Mermaid diagram
uk/articles/magento-to-symfony/data/security.md
+6
−1
31
31
- { path: ^/account, roles: ROLE_USER }
32
32
```
33
33
34
+
::::columns
35
+
:::col
34
36
**Magento** · acl.xml + ADMIN_RESOURCE
35
37
36
38
```xml
51
53
const ADMIN_RESOURCE = 'Vendor_Faq::question_edit';
52
54
}
53
55
```
54
−
56
+
:::
57
+
:::col
55
58
**Symfony** · Voter + #[IsGranted]
56
59
57
60
```php
79
82
#[IsGranted('QUESTION_EDIT', subject: 'question')]
80
83
public function edit(Question $question, Request $request): Response
81
84
```
85
+
:::
86
+
::::
82
87
83
88
Ролі вирішують загальний доступ, voters — доступ до конкретного об'єкта («автор може редагувати своє питання»). В ACL Magento такої гранулярності немає. Аргумент `?Vote $vote` з'явився в 7.3; у старіших версіях сигнатура без нього. Для API зазвичай беруть `access_token` authenticator або JWT-бандл замість integration tokens.