Join GitHub today
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
SSL Requirement =============== SSL requirement adds a declarative way of specifying that certain actions should only be allowed to run under SSL, and if they're accessed without it, they should be redirected. Example: class ApplicationController < ActiveRecord::Base include SslRequirement def skip_ssl_requirement ### would skip ssl requirement if the method return true, the method must be a public method. Rails.env == 'development' end end class AccountController < ApplicationController ssl_required :signup, :payment ssl_allowed :index ssl_allowed :all ssl_required :all def signup # Non-SSL access will be redirected to SSL end def payment # Non-SSL access will be redirected to SSL end def index # This action will work either with or without SSL end def other # SSL access will be redirected to non-SSL end end You can overwrite the protected method ssl_required? to rely on other things than just the declarative specification. Say, only premium accounts get SSL. P.S.: Beware when you include the SslRequirement module. At the time of inclusion, it'll add the before_filter that validates the declarations. Some times you'll want to run other before_filters before that. They should then be declared ahead of including this module. Copyright (c) 2005 David Heinemeier Hansson, released under the MIT license