Class: WizAuthc::SecurityContext
- Inherits:
-
Object
- Object
- WizAuthc::SecurityContext
- Defined in:
- lib/wizdog/authc/security_context.rb
Instance Attribute Summary collapse
-
#authenticated ⇒ Object
Returns the value of attribute authenticated.
-
#principal ⇒ Object
Returns the value of attribute principal.
-
#session ⇒ Object
Returns the value of attribute session.
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, current) ⇒ 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.
65 66 67 68 69 70 71 |
# File 'lib/wizdog/authc/security_context.rb', line 65 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
Returns the value of attribute authenticated.
63 64 65 |
# File 'lib/wizdog/authc/security_context.rb', line 63 def authenticated @authenticated end |
#principal ⇒ Object
Returns the value of attribute principal.
63 64 65 |
# File 'lib/wizdog/authc/security_context.rb', line 63 def principal @principal end |
#session ⇒ Object
Returns the value of attribute session.
63 64 65 |
# File 'lib/wizdog/authc/security_context.rb', line 63 def session @session end |
Class Method Details
.authenticate(realm, token) ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/wizdog/authc/security_context.rb', line 49 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
34 35 36 |
# File 'lib/wizdog/authc/security_context.rb', line 34 def current Thread.current[:security_contexts_key] end |
.current=(value) ⇒ Object
def context
Thread.current[:security_context_key]
end
21 22 23 24 |
# File 'lib/wizdog/authc/security_context.rb', line 21 def current=(value) # Thread.current[:security_context_key] = value Thread.current[:security_contexts_key] = value end |
.env ⇒ Object
9 10 11 |
# File 'lib/wizdog/authc/security_context.rb', line 9 def env Thread.current[:security_env_key] end |
.env=(value) ⇒ Object
13 14 15 |
# File 'lib/wizdog/authc/security_context.rb', line 13 def env=(value) Thread.current[:security_env_key] = value end |
.init(env, current) ⇒ Object
38 39 40 41 |
# File 'lib/wizdog/authc/security_context.rb', line 38 def init(env, current) self.env = env self.current = current end |
.session ⇒ Object
26 27 28 |
# File 'lib/wizdog/authc/security_context.rb', line 26 def session env.session[:security_session_key] ||= {} end |
Instance Method Details
#authenticated? ⇒ Boolean
73 74 75 |
# File 'lib/wizdog/authc/security_context.rb', line 73 def authenticated? @authenticated end |
#user ⇒ Object
77 78 79 |
# File 'lib/wizdog/authc/security_context.rb', line 77 def user @principal[:type].constantize.find(@principal[:identity]) end |