Symfony访问控制

时间:2017-12-21 12:17:51

标签: symfony security access-control

我想授权访问我的API只有一个ip。但即使我从security.yml文件中的access_control中写入它,它似乎也无法正常工作。

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_ADMIN }
    - { path: ^/administration, role: ROLE_ADMIN}
    - { path: ^/api, role: IS_AUTHENTICATED_ANONYMOUSLY, ip: 527.0.2.1 }

我想阻止的路线都是在^ / api / *

之后

感谢帮助。

1 个答案:

答案 0 :(得分:0)

你可以试试这个

access_control:
    #
    - { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, ips: [127.0.0.1, ::1] }
    - { path: ^/api, roles: ROLE_NO_ACCESS }

127.0.0.1 替换为您的IP

阅读官方文档Symfony Matching access_control By IP