Mercurial > pub > Impl
view Lib/IMPL/Web/Application/Session.pm @ 60:b0c068da93ac
Lazy activation for the configuration objects (final concept)
small fixes
author | wizard |
---|---|
date | Tue, 09 Mar 2010 19:47:39 +0300 |
parents | bf59ee1cd506 |
children |
line wrap: on
line source
package IMPL::Web::Application::Session; use strict; use base qw(IMPL::Object); use IMPL::Security::Auth qw(GenSSID); use IMPL::Class::Property; BEGIN { public property id => prop_get | owner_set; public property principal => prop_get | owner_set; public property authSession => prop_get | owner_set; public property roles => prop_get | owner_set | prop_list; } sub CTOR { my ($this,%args) = @_; $this->principal($args{principal}) or die new IMPL::InvalidArgumentException("A principal is required"); $this->authSession($args{auth}) or die new IMPL::InvalidArgumentException("An auth session is required"); $this->roles($args{roles}) if $args{roles}; $this->id(GenSSID()); } sub DoAuth { my ($this,$secData) = @_; return $this->authSession->DoAuth($secData); } sub ValidateSession { my ($this,$secData) = @_; return $this->authSession->ValidateSession($secData); } 1; __END__