Just a thought... So ideally you want the link on the page to be https/http, so that it goes straight there when clicked? Could you extend the Html helper to achieve this so that when you use $this->Html->link it does the logic and issues either a secure or an insecure link? This would avoid the logic + redirect on arrival at the target page...I think.
Jeremy Burns Class Outfit [email protected] http://www.classoutfit.com On 14 May 2011, at 04:44, Krissy Masters wrote: > Thanks for your detailed help but still not what I am referring to. I have a > force / unforce ssl for urls but that usually is forced by general surfing on > the site if user is on a page requiring SSL then the function > redirects….pretty simple. > > What I am saying is in the controller, in an action itself you have > redirect() for whatever reason so send user to another url, now if this url > your sending them to requires SSL for example your redirecting them once with > the controller redirect…..and beforeRender hits them with a second redirect > to force the ssl. It would be easier to simply say in the controller redirect > that im sending you to a https url if needed rather than double redirects. > > Look at firebug to inspect the requests and the way you mention you get 2 > requests fired off resulting in 302 redirects. > > Controller sends to http://site.com/page (302 redirect #1) > Gets to http://site.com/page hit with the second redirect 302 since it should > be ssl for this example > So finally after the second redirect you end up at https://site.com/page. > > All I was asking is there was a way to simply call the redirect() in the > controller to force the ssl right there and then. > > > > > > From: [email protected] [mailto:[email protected]] On Behalf > Of Matt Murphy > Sent: Saturday, May 14, 2011 12:21 AM > To: [email protected] > Subject: Re: Force redirect to be SSL > > I've done this before with a component which i'd include in relevant > controllers and call in needed methods. > > ------------ > <?php > class SslComponent extends Object { > > var $controller; > > function startup(&$controller) { > $this->controller =& $controller; > } > > function force() { > if(!$this->__isSSL()) { > $this->controller->redirect('https://'.$this->__url()); > } > } > > function unforce($path = '') { > if($this->__isSSL()) { > $this->controller->redirect('http://'.$this->__url($path)); > } > } > > function __url( $path = '') { > $path = $path ? $path : env('REQUEST_URI'); > return env('SERVER_NAME').$path; > } > > function __isSSL() { > if (env('SERVER_PORT')==443) { > return true; > } else { > return false; > } > } > } > -------------------------- > In my controllers, I htink I'd call $this->Ssl->force(); on the methods I > wanted to be in SSL and ->unforce() in the rest (which is grossly inferior to > using the .htaccess method!). Warning: It was not possible, using this, to > go from ssl to non-ssl or visa versa with POST values intact (something this > shares with the .htaccess rewrite method.). Sorry if the above is off , but > the idea should be clear enough. > > Er, this is also old as hell. Written for 1.1, I think. > > MM > On Fri, May 13, 2011 at 6:43 PM, Krissy Masters <[email protected]> > wrote: > Not using any htaccess files. > I only have 2 redirects that I need to force to SSL I was just curious if > there was a way. > > Maybe this is something future versions of cake might incorporate? > > Allow an additional param for SSL => true to force the redirect to be ssl > rather than a double redirect. > > > -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > [email protected] For more options, visit this group at > http://groups.google.com/group/cake-php > > -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > [email protected] For more options, visit this group at > http://groups.google.com/group/cake-php > > -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > [email protected] For more options, visit this group at > http://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
