在我的应用程序中,我设置了路由和安全性,以对某些路由使用安全连接:
<route id="store_checkout" pattern="/checkout" scheme="https">
<default key="_controller">Store:Store:checkout</default>
</route>
access_control:
- { path: ^/checkout, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
但是,由于此应用程序是开源的并且可以在任何服务器(可能没有 SSL)上运行,我希望允许用户禁用/忽略 SSL 要求(如果他们选择这样做,则风险自负)。
目前我可以想到几种方法:
我可以有 2 个路由文件(1 个带 ssl,1 个不带)和 2 个安全文件。然后根据用户在安装时的选择,应用程序可以决定使用哪个文件
或者也许我还可以自定义路由器的生成功能,以根据 _scheme 设置和 SSL 状态生成 http 或 https 链接(如果他们有/没有 SSL 证书,用户可以启用/禁用)
有没有更好的方法来解决这个问题?