特定のコントローラーに SSL を強制し、それ以外のすべての SSL を削除したいと考えています。少し前に、カスタム Controller クラスの _init() にスニペットがありましたが、期待どおりに機能しませんでした。
$ssl = $this->request->is('ssl');
$forceSecured = in_array($this->request->controller, array('Orders', 'Customers'));
//remove SSL for non-ssl pages
if ($ssl && !$forceSecured) {
return $this->redirect(Router::match(
$this->request->params,
$this->request,
array('absolute' => true, 'scheme' => 'http://')
)
);
}
// Force ssl on for ssl pages
if (!$ssl && $forceSecured) {
return $this->redirect(Router::match(
$this->request->params,
$this->request,
array('absolute' => true, 'scheme' => 'https://')
)
);
}
私はレガシー アプリケーションをサポートしているので、複数のハードコードされたルートが定義されています。Router::connect でハンドラーを使用できると確信していますが、すべての要求をチェックしたいと思います。継続ルートはここに行く方法でしょうか?