Module: Authorization
- Defined in:
- lib/declarative_authorization/reader.rb,
lib/declarative_authorization/helper.rb,
lib/declarative_authorization/in_model.rb,
lib/declarative_authorization/maintenance.rb,
lib/declarative_authorization/railsengine.rb,
lib/declarative_authorization/authorization.rb,
lib/declarative_authorization/controller/dsl.rb,
lib/declarative_authorization/controller/grape.rb,
lib/declarative_authorization/controller/rails.rb,
lib/declarative_authorization/obligation_scope.rb,
lib/declarative_authorization/controller/runtime.rb,
lib/generators/authorization/rules/rules_generator.rb,
lib/declarative_authorization/controller_permission.rb,
lib/generators/authorization/install/install_generator.rb
Overview
Mixin to be added to rails controllers
Defined Under Namespace
Modules: AuthorizationHelper, AuthorizationInModel, Controller, Maintenance, Reader, TestHelper
Classes: AnonymousUser, Attribute, AttributeAuthorizationError, AttributeWithPermission, AuthorizationError, AuthorizationRule, AuthorizationRuleSet, AuthorizationUsageError, ControllerPermission, Engine, InstallGenerator, NilAttributeValueError, NotAuthorized, ObligationScope, RailsEngine, RulesGenerator
Constant Summary
collapse
- AUTH_DSL_FILES =
[Pathname.new(Rails.root || '').join("config", "authorization_rules.rb").to_s]
- @@dot_path =
"dot"
- @@default_role =
:guest
Class Method Summary
collapse
Class Method Details
.current_user ⇒ Object
Controller-independent method for retrieving the current user. Needed for model security where the current controller is not available.
27
28
29
|
# File 'lib/declarative_authorization/authorization.rb', line 27
def self.current_user
Thread.current["current_user"] || guest_user
end
|
.current_user=(user) ⇒ Object
Controller-independent method for setting the current user.
32
33
34
|
# File 'lib/declarative_authorization/authorization.rb', line 32
def self.current_user=(user)
Thread.current["current_user"] = user
end
|
.default_role ⇒ Object
60
61
62
|
# File 'lib/declarative_authorization/authorization.rb', line 60
def self.default_role
@@default_role
end
|
.default_role=(role) ⇒ Object
64
65
66
|
# File 'lib/declarative_authorization/authorization.rb', line 64
def self.default_role=(role)
@@default_role = role.to_sym
end
|
.dot_path ⇒ Object
51
52
53
|
# File 'lib/declarative_authorization/authorization.rb', line 51
def self.dot_path
@@dot_path
end
|
.dot_path=(path) ⇒ Object
55
56
57
|
# File 'lib/declarative_authorization/authorization.rb', line 55
def self.dot_path=(path)
@@dot_path = path
end
|
.guest_user ⇒ Object
36
37
38
|
# File 'lib/declarative_authorization/authorization.rb', line 36
def self.guest_user
@@guest_user ||= AnonymousUser.new
end
|
.ignore_access_control(state = nil) ⇒ Object
For use in test cases only
45
46
47
48
|
# File 'lib/declarative_authorization/authorization.rb', line 45
def self.ignore_access_control(state = nil)
Thread.current["ignore_access_control"] = state unless state.nil?
Thread.current["ignore_access_control"] || false
end
|
.is_a_association_proxy?(object) ⇒ Boolean
68
69
70
|
# File 'lib/declarative_authorization/authorization.rb', line 68
def self.is_a_association_proxy?(object)
object.respond_to?(:proxy_association)
end
|
.non_guest_current_user ⇒ Object
40
41
42
|
# File 'lib/declarative_authorization/authorization.rb', line 40
def self.non_guest_current_user
current_user unless current_user.is_a?(AnonymousUser)
end
|