我如何配置安全防火墙和,使所有页面为匿名用户呈现有限的信息(注意登录没有强制执行),但显示了身份验证用户的全部详细信息?
encoders:
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_AGENT: ROLE_USER
providers:
agent_provider:
memory:
users:
agent: { password: agentpass, roles: [ 'ROLE_AGENT' ] }
user_provider:
memory:
users:
user: { password: userpass, roles: [ 'ROLE_USER' ] }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
anonymous: true
agent_area:
provider: agent_provider
pattern: ^/agent
anonymous: ~
form_login:
login_path: agent_login
check_path: agent_login_check
default_target_path: /agent
logout:
path: agent_logout
target: /agent
user_area:
provider: user_provider
pattern: ^/
anonymous: ~
form_login:
login_path: app_login
check_path: app_login_check
default_target_path: /
logout:
path: app_logout
target: /
access_control:
- { path: ^/agent/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/agent, roles: ROLE_AGENT }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }如果删除了access_control中的最后两行,登录过程就会像预期的那样工作,但是is_granted('ROLE_USER')即使在用户登录时也总是返回false。
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }发布于 2013-06-17 08:04:54
您可以使用twig的is_granted()函数向用户和来宾显示不同的内容。
{% if is_granted('IS_AUTHENTICATED_ANONYMOUSLY') %}
{# ... only non logged-in users content ... #}
{% endif %}..。或者..。
{% if is_granted('ROLE_USER') %}
{# .. user's content ... #}
{% endif %}https://stackoverflow.com/questions/17141571
复制相似问题