Tôi không thể làm cho quy tắc tường lửa hoạt động chính xác. Tôi có một người dùng có vai trò là D-COMPLIANCEDIALOG
và quy tắc tường lửa cấp quyền truy cập vào quy tắc đó: - { path: ^/ , roles: D-COMPLIANCEDIALOG }
. Tôi vẫn nhận được một quyền truy cập bị từ chối (Truy cập bị từ chối, người dùng không phải là vô danh, cũng không nhớ-tôi.).Tường lửa Symfony2: Người dùng có vai trò phù hợp nhưng "Truy cập bị từ chối"
#security.yml
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
providers:
reddot:
id: reddot_user_provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/
anonymous: ~
http_basic: ~
simple_form:
authenticator: reddot_authenticator
check_path: login_check
login_path: login
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/ , roles: D-COMPLIANCEDIALOG }
Dữ liệu người dùng từ symfony profiler:
Username admin
Authenticated? yes
Roles [D-COMPLIANCEDIALOG]
Inherited Roles { }
Token class Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken
gì tôi đã kiểm tra:
- Bộ điều khiển không có cài đặt bảo mật riêng
- Tên vai trò dường như không có một lỗi đánh máy
- Đây thực sự là dòng cuối cùng trong quy tắc tường lửa, nếu tôi xóa nó, tôi có truy cập.
Bạn có thể muốn thực hiện kiểm soát truy cập đăng nhập của bạn 'đường dẫn: ^/login $, vai trò : IS_AUTHENTICATED_ANONYMOUSLY' với '$' để đảm bảo tuyến đường login_check của bạn được bảo mật https://symfony.com/doc/master/bundles/FOSUserBundle/index.html#step-4-configure-your-application-s-security-yml –