如何强制symfony2仅对一个页面使用HTTPS

时间:2014-07-10 07:50:15

标签: php symfony https symfony-2.1 symfony-routing

我必须在symfony2 app中仅使用HTTPS作为单页。我试过像

security.yml

- { path: ^/payment, roles: ROLE_USER, requires_channel: https } 

它运作良好但是当我从/ support页面导航到其他页面时,它在HTTPS而不是HTTP中保持相同。我也尝试过sonata管理员控制器,比如:

PaymentAdmin.php

$collection
        ->add('makePayment', 'payment/{paymentId}',$options = array('_scheme' => 'https'));

但同样的问题。我只想将HTTPS仅用于/支付页面而不是其他页面。我可以解决这个问题。

1 个答案:

答案 0 :(得分:2)

您可以尝试添加regexp start notation" ^"这样的路径" ^ / payment"应该说明以/付款开头的路线应该在" https"。

{ path: ^/payment, roles: ROLE_USER, requires_channel: https } 

http://symfony.com/doc/current/cookbook/security/force_https.html中的示例 也表明了。