2016-10-19 18 views
5

tôi có hơn hai tên miền phụ trong trang web của mình. chẳng hạn như: www.example.com, login.example.com, user.example.com, cart.example.com ... tôi thiết lập cookie_domain là .example.com trong config.yml và php.ini khi i setCookies ('test', 'value', '.example.com'), nhưng cookie luôn không được chia sẻ trong tên miền phụ. vì vậy, làm thế nào để làm ngay bây giờ?Symfony 3: Cách chia sẻ cookie trên tên miền phụ?

có config.yml tôi

session: 
    handler_id: session.handler.native_file 
    save_path: "%kernel.root_dir%/../var/sessions/" 
    cookie_domain: .example.com 
    cookie_lifetime: 0 
    name: TESTSESSIONID 

trong an ninh của tôi:

security: 
    session_fixation_strategy: none 

Trả lời

0

Bạn có thể cấu hình các khóa phiên trong config.yml xác định một cookie_domain. Một ví dụ:

config.yml

session: 
    cookie_lifetime: 0 
    save_path: %kernel.root_dir%/var/sessions 
    cookie_domain: .my-domain.com 
    name: SFSESSID 

Hy vọng điều này giúp đỡ

+0

cảm ơn. nhưng nó không hiệu quả với tôi. –

0

Bạn cần phải thiết lập host tin cậy trong ứng dụng của bạn bởi vì đối với ứng dụng symfony lý do an ninh sẽ đáp ứng với host trong danh sách trắng và subdomins. Để làm điều này bạn có vài cách để sửa chữa nó

  1. Trong config.yml bộ trusted_hosts của bạn như dưới đây
#app/config/config.yml 
framework: 
    trusted_hosts: ['example.com', 'login.example.com', 'user.example.com', 'cart.example.com'] 
  1. Bạn có thể cũng thiết lập các máy chủ đáng tin cậy trong bộ điều khiển phía trước bằng cách sử dụng phương thức Request :: setTrustedHosts() như dưới đây.
//web/app.php 
Request::setTrustedHosts(array('.*\.?example.com$')); 

Hãy tìm thấy bên dưới liên kết tài liệu hướng dẫn dành cho mục đích tham khảo

reference 1

reference 2

reference 3

0

tôi cần điều này để làm việc cho tất cả các tên miền phụ, nhưng tên miền tự thay đổi tùy thuộc vào việc tôi đã phát triển hay đang sản xuất.

Tôi sử dụng parameter_dev.yml và parameters.yml để xác định 'miền', sau đó thêm tên miền này vào config.yml để cho phép cookie trên tất cả các tên miền phụ.

framework: 
session: 
    cookie_domain: '.%domain%' 
Các vấn đề liên quan