I added an admin role to Devise by adding a admin attribute.
Could you tell me if this is the right way to create a before_filter that requires an admin user to be signed:
in any controller:
before_filter :authenticate_admin!
in application_controller
protected
unless current_user.try(:admin?)
redirect_to :new_user_session_path
end
Go with this approach
This also ensures any guests are forced to sign in as well. You don’t need to modify the default method to force authentication just to access the instance method
admin?My approach is to create a role attribute and check its string value against a set of intended roles – it’s far more flexible this way rather than having to create many boolean attributes.