diff options
Diffstat (limited to 'users/app/controllers')
-rw-r--r-- | users/app/controllers/application_controller.rb | 32 | ||||
-rw-r--r-- | users/app/controllers/controller_extension/authentication.rb | 17 |
2 files changed, 17 insertions, 32 deletions
diff --git a/users/app/controllers/application_controller.rb b/users/app/controllers/application_controller.rb deleted file mode 100644 index 0d6e5d1..0000000 --- a/users/app/controllers/application_controller.rb +++ /dev/null @@ -1,32 +0,0 @@ -class ApplicationController < ActionController::Base - protect_from_forgery - - protected - - def current_user - @current_user ||= User.find(session[:user_id]) if session[:user_id] - end - helper_method :current_user - - def logged_in? - !!current_user - end - helper_method :logged_in? - - def authorize - access_denied unless logged_in? - end - - def admin? - current_user && current_user.is_admin? - end - helper_method :admin? - - def authorize_admin - access_denied unless admin? - end - - def access_denied - redirect_to login_url, :alert => "Not authorized" - end -end diff --git a/users/app/controllers/controller_extension/authentication.rb b/users/app/controllers/controller_extension/authentication.rb new file mode 100644 index 0000000..507b62f --- /dev/null +++ b/users/app/controllers/controller_extension/authentication.rb @@ -0,0 +1,17 @@ +module ControllerExtension::Authentication + extend ActiveSupport::Concern + + private + + included do + helper_method :current_user + end + + def current_user + @current_user ||= User.find(session[:user_id]) if session[:user_id] + end + + def authorize + redirect_to login_url, :alert => "Not authorized" if current_user.nil? + end +end |