回答
您可以訪問使用app.security.token
整個安全令牌。 roles
也是令牌的一個屬性。
{{ dump(app.security.token.roles) }}
當我嘗試它爲什麼返回值是這樣的:array(size = 0) – hendra1
array(1){[0] => object(AppBundle \ Entity \ Role)#1067(3){[「id」:「 AppBundle \ Entity \ Role「:private] => int(3)[」name「:」AppBundle \ Entity \ Role「:private] => string(5)」admin「[」role「:」AppBundle \ Entity \ Role 「:private] => string(10)」ROLE_ADMIN「}} 這是我的輸出 –
app.user.roles現在是(3.x)答案。 – RichieHH
您可以編寫一個樹枝擴展來完成此操作。
創建樹枝擴展並將其註冊爲服務。
在
services.yml
添加services: cms.twig.cms_extension: class: Path\To\RolesTwigExtension.php tags: - { name: twig.extension } arguments: ["@service_container"]
在
RolesTwigExtension.php
use Symfony\Component\Security\Core\User\UserInterface; class RolesTwigExtension extends \Twig_Extension { public function getFilters() { return array( new \Twig_SimpleFilter('getRoles', [$this, 'getRoles']), ); } public function getName() { return 'roles_filter_twig_extension'; } public function getRoles(UserInterface $user) { return $user->getRoles(); } }
在您的枝杈文件:
<ul> {% for key, value in app.user|getRoles %} <li>{{ value.name }}</li> {% endfor %} </ul>
一個更簡單的選擇是測試中的作用,因爲你必須在security.yml定義它們:
{% if is_granted('ROLE_ADMIN') %}
Administrator
{% elseif is_granted('ROLE_USER') %}
User
{% else %}
Anonymous
{% endif %}
的Silex:
{{ dump(app.user.roles) }}
array(1) { [0]=> string(9) "ROLE_USER" }
{% if app.user is not null %}
{% for role in app.user.roles if role != 'ROLE_ADMIN' %}
{{ role }} //ROLE_USER
{% endfor %}
{% endif %}
您可以掃描用戶的您的收藏角色:
{% for role in app.user.roles %}
{{ role }} <br>
{% endfor %}
- 1. Symfony2中有樹枝
- 2. Symfony2,樹枝和JavaScript
- 3. 使用Symfony2獲取樹枝模板中的環境名稱
- 4. Symfony2:在樹枝中顯示獲取連接結果
- 5. 如何在樹枝,symfony2中獲取貨幣符號?
- 6. Symfony2的app.user在樹枝
- 7. Symfony2的jQuery的在樹枝
- 8. CKEditor在樹枝模板+ Symfony2
- 9. 的foreach在樹枝的Symfony2
- 10. 如何在樹枝模板中獲取樹枝塊的來源?
- 11. Symfony2的用戶角色(BETA2)
- 12. 未在樹枝中定義的Symfony2用戶異常控制器
- 13. 在Java Portlet中獲取用戶角色
- 14. 繼承symfony2中重用樹枝模板
- 15. Symfony2中如何呈現在樹枝
- 16. Symfony2在樹枝中顯示SQL結果
- 17. 坐落在Symfony2中一個像樹枝
- 18. 獲取用戶角色
- 19. Symfony2 - 如何從角色,表中創建樹枝列表複選框組,FOSUserBundle
- 20. Symfony2樹枝安全政策
- 21. Symfony2樹枝加載模板
- 22. 樹枝延伸 - symfony2環境
- 23. 樹枝逃生( 'JS')Symfony2的
- 24. Symfony2樹枝無限深度
- 25. form_errors(表格)symfony2樹枝
- 26. symfony2 form樹枝輸入值
- 27. 獲取用戶的角色與FOSUserBundle的Symfony2登錄後
- 28. 獲取未登錄TWIG的用戶的角色Symfony2
- 29. 無法檢查在Symfony2中新加入的角色枝杈
- 30. symfony2和樹枝:獲取表單字段的屬性
你使用像FOSUserBundle任何捆綁? – Mohebifar
不,我使用symfony基本安全 – hendra1
你可以在這裏找到答案。 http://stackoverflow.com/questions/7463650/accessing-the-logged-in-user-in-a-template – obomaye