根据奏鸣曲中的路径检查用户身份验证

时间:2018-05-24 15:02:13

标签: php symfony sonata-admin

是否可以检查用户是否经过身份验证以访问他请求的URl。我想要做的是当用户没有登录时,他无法通过网址查看文件。

示例:=> Screenshot

有什么建议吗?谢谢

更新

这是我的访问控制: 所有访问都适用于我的应用程序

    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }

    - { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/login-check$, role: IS_AUTHENTICATED_ANONYMOUSLY }

    - { path: ^/admin/, role: [ROLE_USER] }
    - { path: ^/admin/rlsh/dashboard, role: IS_AUTHENTICATED_FULLY }
    - { path: ^/uploads/media, role: IS_AUTHENTICATED_FULLY }
    - { path: ^/profile/, role: IS_AUTHENTICATED_FULLY }
    - { path: ^/shop/basket/step/, role: IS_AUTHENTICATED_FULLY }
    - { path: ^/shop/user/, role: IS_AUTHENTICATED_FULLY }
    # - { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }

1 个答案:

答案 0 :(得分:1)

如果您想要连接用户以访问您的文件,您可以使用简单的access_control,请查看

access_control:
    - { path: ^/uploads/media, role: IS_AUTHENTICATED_FULLY }

未经过身份验证的用户尝试访问您的文件将获得403禁止响应。

您可以使用正则表达式和其他许多内容自定义path,随意take a look