Class: WizAuthc::SecurityContext
- Inherits:
-
Object
- Object
- WizAuthc::SecurityContext
- Defined in:
- lib/wizdog/authc/security_context.rb
Instance Attribute Summary collapse
-
#authenticated ⇒ Object
@@contexts = {}.
-
#principal ⇒ Object
@@contexts = {}.
-
#session ⇒ Object
@@contexts = {}.
Class Method Summary collapse
- .authenticate(realm, token) ⇒ Object
-
.current ⇒ Object
end.
-
.current=(value) ⇒ Object
def context Thread.current end.
- .env ⇒ Object
- .env=(value) ⇒ Object
- .init(env, klass) ⇒ Object
- .session ⇒ Object
Instance Method Summary collapse
- #authenticated? ⇒ Boolean
-
#initialize(principal, authenticated = nil, session = nil, ip = nil) ⇒ SecurityContext
constructor
A new instance of SecurityContext.
- #user ⇒ Object
Constructor Details
#initialize(principal, authenticated = nil, session = nil, ip = nil) ⇒ SecurityContext
Returns a new instance of SecurityContext.
10 11 12 13 14 15 16 |
# File 'lib/wizdog/authc/security_context.rb', line 10 def initialize(principal, authenticated = nil, session = nil, ip = nil) @principal = principal || nil @authenticated = authenticated || false @session = session @ip = ip || "0.0.0.0" @actived = false end |
Instance Attribute Details
#authenticated ⇒ Object
@@contexts = {}
8 9 10 |
# File 'lib/wizdog/authc/security_context.rb', line 8 def authenticated @authenticated end |
#principal ⇒ Object
@@contexts = {}
8 9 10 |
# File 'lib/wizdog/authc/security_context.rb', line 8 def principal @principal end |
#session ⇒ Object
@@contexts = {}
8 9 10 |
# File 'lib/wizdog/authc/security_context.rb', line 8 def session @session end |
Class Method Details
.authenticate(realm, token) ⇒ Object
61 62 63 64 65 66 67 68 69 70 |
# File 'lib/wizdog/authc/security_context.rb', line 61 def authenticate(realm, token) authc_info = realm.authenticate(token) # ctx = self.current # unless ctx # session = ctx.session # end ctx = self.new(authc_info.principal, authc_info.authenticated, env.session) # env.session[:security_contexts_key] = ctx self.current = ctx end |
.current ⇒ Object
end
52 53 54 |
# File 'lib/wizdog/authc/security_context.rb', line 52 def current Thread.current[:security_contexts_key] end |
.current=(value) ⇒ Object
def context
Thread.current[:security_context_key]
end
39 40 41 42 |
# File 'lib/wizdog/authc/security_context.rb', line 39 def current=(value) # Thread.current[:security_context_key] = value Thread.current[:security_contexts_key] = value end |
.env ⇒ Object
27 28 29 |
# File 'lib/wizdog/authc/security_context.rb', line 27 def env Thread.current[:security_env_key] end |
.env=(value) ⇒ Object
31 32 33 |
# File 'lib/wizdog/authc/security_context.rb', line 31 def env=(value) Thread.current[:security_env_key] = value end |
.init(env, klass) ⇒ Object
56 57 58 59 |
# File 'lib/wizdog/authc/security_context.rb', line 56 def init(env, klass) self.env = env self.current = klass.new(self.session) end |
.session ⇒ Object
44 45 46 |
# File 'lib/wizdog/authc/security_context.rb', line 44 def session env.session[:security_session_key] ||= {} end |
Instance Method Details
#authenticated? ⇒ Boolean
18 19 20 |
# File 'lib/wizdog/authc/security_context.rb', line 18 def authenticated? @authenticated end |
#user ⇒ Object
22 23 24 |
# File 'lib/wizdog/authc/security_context.rb', line 22 def user @principal[:type].constantize.find(@principal[:identity]) end |