2012-02-27 18 views
10

Với cấu hình này:Symfony2 và truy cập nặc danh đối với một số tuyến đường

firewalls: 
    login: 
     pattern: ^/login$ 
     anonymous: ~ 
     security: false 

    foo: 
     pattern: ^/foo$ 
     anonymous: ~ 
     security: false 

    secured_area: 
     pattern: ^/ 
     form_login: 
      login_path: /login 
      check_path: /login_check 
     logout: 
      path: /logout 
      target:/

access_control: 
    - { path: ^/, roles: ROLE_ADMIN } 
    - { path: ^/foo, roles: IS_AUTHENTICATED_ANONYMOUSLY } 

Tôi muốn để có thể làm cho /foo nặc danh truy cập. Tuy nhiên, khi tôi cố gắng đến đó ngay cả sau khi xóa bộ nhớ cache nó sẽ không cho phép tôi và chuyển hướng đến màn hình đăng nhập.

Làm cách nào để làm cho một tuyến đường có thể truy cập ẩn danh trong khi giữ lại phần còn lại của hệ thống được bảo mật?

Trả lời

12

Thay

- { path: ^/foo, roles: IS_ANONYMOUS } 

với

- { path: ^/foo, roles: IS_AUTHENTICATED_ANONYMOUSLY } 

CẬP NHẬT

Ngoài ra, tôi tin rằng, bạn sẽ có thêm

- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 

f hoặc xác thực để hoạt động chính xác.

Để biết thêm thông tin, hãy kiểm tra Tránh các cạm bẫy phổ biến phần here.

+0

Ok cập nhật câu hỏi và tôi đã thử nó, nhưng nó vẫn chuyển hướng để đăng nhập (tôi cũng đã xóa bộ nhớ cache). – Tower

+0

Được rồi, trông giống như nó không hoạt động đối với môi trường 'dev' vì lý do nào đó. – Tower

+0

@rFactor, thật khó để biết bây giờ có gì sai. Cố gắng tìm manh mối trong nhật ký. –

Các vấn đề liên quan