ssl - Set ssl_allowed/ssl_required for all pages in Rails 2? -
i found ajax calls not working on rails site when page using ssl/https. worked around adding
ssl_allowed :action1, :action2, :actionn
to controllers involved.
i foresee being pain , prone bugs in future, i'll indubitably forget add action ssl_allowed list.
is there way turn on ssl_allowed
/ssl_required
globally in [ssl_requirement][1] gem, actions of every controller in site? tried adding following applicationcontroller, did not work:
ssl_allowed :all
if you'd rather not depend on forked plugin, can override ssl_allowed? in controller:
class applicationcontroller < actioncontroller::base ... private def ssl_allowed? true end end
edit: not thought did. instead of disabling redirects http pages not specified ssl_required, short circuts whole redirect process nothing. bad. code:
def ensure_proper_protocol return true if ssl_allowed? if ssl_required? && !request.ssl? redirect_to "https://" + request.host + request.request_uri flash.keep return false elsif request.ssl? && !ssl_required? redirect_to "http://" + request.host + request.request_uri flash.keep return false end end
adding ssl_allowed? method answer if code instead read:
def ensure_proper_protocol if ssl_required? && !request.ssl? redirect_to "https://" + request.host + request.request_uri flash.keep return false elsif request.ssl? && !ssl_required? && !ssl_allowed? redirect_to "http://" + request.host + request.request_uri flash.keep return false end end
Comments
Post a Comment