2012-03-08 27 views
10

Tôi đang sử dụng JMSI18nRoutingBundle cho định tuyến dịch, với cấu hình tùy chỉnh, có nghĩa là không có tiền tố cho tất cả các tuyến đường:Bảo mật Symfony2 khi sử dụng định tuyến i18n?

# app/config/config.yml 
jms_i18n_routing: 
    default_locale: it 
    locales: [it, en] 
    strategy: custom 

www.example.com/contatti 
www.example.com/contact 

này đang làm việc tốt, một như bó đó. Không phải tôi phải phát triển phần quản trị của dự án, tất nhiên là phải đảm bảo nó. Tôi đang mắc kẹt tại cấu hình bảo mật (một đoạn trích):

# app/config/config.yml 
security: 
    firewalls: 
     secured_area: 
      pattern: ^/ 
      anonymous: ~ 
      form_login: 
       login_path: /login 
       check_path: /login_check 

login_path được tĩnh xác định sử dụng security.yml. Vì vậy, làm thế nào tôi là nghĩa vụ phải xác định đường dẫn đăng nhập chính xác (bản địa hoá)? Giả sử biểu mẫu có thể truy cập bằng cách sử dụng:

www.example.com/accesso 
www.example.com/login 
+1

Sử dụng tên đường dẫn ví dụ fos_user_login xác định cả/accesso và/login thay vì/login trong cấu hình bảo mật của bạn (login_path: fos_user_login). –

Trả lời

4

Wojciech Jasiński được đề cập trong nhận xét, bạn nên sử dụng tên tuyến thay vì mẫu.

Chỉ cần chút ánh sáng ...
Bạn nên xác định tuyến đường của bạn

gremo_login_path: 
    pattern: /login 

... và sử dụng nó trong security.yml

security: 
    firewalls: 
     secured_area: 
      pattern: ^/ 
      anonymous: ~ 
      form_login: 
       login_path: gremo_login_path 
       check_path: /login_check 

Xem vấn đề này cũng liên quan:
https://github.com/schmittjoh/JMSI18nRoutingBundle/issues/7
https://github.com/symfony/symfony/pull/3791/files

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