2011-11-30 39 views
5

Có thể bản đồ tường lửa đến một máy chủ nào đó, một cái gì đó như thế này ví dụ:Tường lửa mỗi-host trong Symfony2

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 
    admin: 
     pattern: ^/ 
     host: admin.mysite.com 
     http_basic: 
      provider: in_memory 
      realm: 'MySite Admin' 
     logout: 
    main: 
     pattern: ^/ 
     anonymous: ~ 
     form_login: 
      provider: fos_userbundle 
     ... 

Lưu ý giả "host" param dưới các bức tường lửa admin.

Khả năng giới hạn tường lửa cho các máy chủ cụ thể sẽ giúp dễ dàng sử dụng nhà cung cấp trên cơ sở mỗi máy chủ. Với các tên miền khác nhau, người ta không phải lo lắng về các mẫu chồng chéo.

+1

Symfony 2.2 sẽ có thể định tuyến dựa trên tên máy chủ. Tôi vẫn đang kiểm tra xem tường lửa có chức năng tương tự không và quay trở lại với kết quả. – GergelyPolonkai

Trả lời

1

Về cơ bản, hầu như bất kỳ lược đồ xác thực nào đều có thể được triển khai với khái niệm bảo mật đã cho. Trong trường hợp của bạn, bạn có thể cần phải xác định một EntryPoint cũng kiểm tra máy chủ mà người dùng đến từ đó. Tuy nhiên, bạn nên nhớ rằng thông tin "lưu trữ" không nhất thiết phải đáng tin cậy và có lẽ không phải là biện pháp xác thực duy nhất của bạn.

Nếu bạn muốn tìm hiểu cách triển khai sơ đồ xác thực của riêng mình, hãy xem lược đồ xác thực đăng nhập biểu mẫu đã được cung cấp trong gói khung. Một nơi tốt để bắt đầu là nhà máy bảo mật (Symfony \ Bundle \ SecurityBundle \ DependencyInjection \ Security \ Factory \ FormLoginFactory) xử lý cấu hình động và tiêm tất cả các lớp liên quan đến lược đồ xác thực. Ngoài ra, hãy xem symfony book's section on security để có chế độ xem cấp cao về kiến ​​trúc của gói bảo mật.

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