If you want to force certain of your cakePHP webpages to be https and others http, or to use https for logged in users and http for non users, here is a simple script to do just that
// add this function to your appController. When the user is not logged in only the "login" and "register" pages are https
public function moveTohttp(){
if (!$this->Auth->user()) {
// user login and user register should be https by default
if ($this->here == '/users/login' || $this->here == '/users/add') {
// do nothing
} else if ($this->request->is('ssl')) {
return $this->redirect('http://' . env('SERVER_NAME') . $this->here);
}
} else { // then the user is logged in
if (!$this->request->is('ssl')) {
return $this->redirect('https://' . env('SERVER_NAME') . $this->here);
}
}
}
// call the function in your beforeFilter function
public function beforeFilter() {
$this->moveTohttp();
}