我是一个非常新的symfony2,(一个菜鸟)。
我使用的是当前版本的symfony,即2.4。我的目标是在索引操作中呈现不同的视图。要呈现的视图取决于用户是否已登录。
例如:
用户浏览http://example.com网址(未经过身份验证)。应用程序应该在此网址中显示登录表单,而不是重定向到http://example.com/login。
用户浏览http://example.com网址(已通过身份验证)。由于用户已经过身份验证,因此应呈现帐户信息视图。
我怎样才能做到这一点?
答案 0 :(得分:0)
经过身份验证的用户具有“IS_AUTHENTICATED_FULLY”角色,因此您可以在控制器中进行检查
if ($this->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY')) {
...
但构建重型逻辑控制器并不是一个好主意。 Symfony可以使用正确的安全设置来完成所需的工作。
# app/config/security.yml
security:
...
firewalls:
secured_area:
pattern: ^/
security: true
form_login:
login_path: /login
check_path: /login_check
logout:
path: /logout
target: /
anonymous: ~
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/ , roles: IS_AUTHENTICATED_FULLY }
中找到详细信息