Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application/Action.pm @ 340:c090d9102a38
web application security refactoring
| author | cin |
|---|---|
| date | Fri, 21 Jun 2013 02:43:56 +0400 |
| parents | 97628101b765 |
| children | ec58c47edb52 |
comparison
equal
deleted
inserted
replaced
| 339:97628101b765 | 340:c090d9102a38 |
|---|---|
| 17 'IMPL::Object::Autofill' => '@_', | 17 'IMPL::Object::Autofill' => '@_', |
| 18 'IMPL::Object::Disposable' => undef | 18 'IMPL::Object::Disposable' => undef |
| 19 ], | 19 ], |
| 20 props => [ | 20 props => [ |
| 21 application => PROP_RW, | 21 application => PROP_RW, |
| 22 security => PROP_RW, | |
| 22 query => PROP_RO, | 23 query => PROP_RO, |
| 23 context => PROP_RW, | 24 context => PROP_RW, |
| 24 _jsonData => PROP_RW, | 25 _jsonData => PROP_RW, |
| 25 ] | 26 ] |
| 26 }; | 27 }; |
| 27 | 28 |
| 28 sub CTOR { | 29 sub CTOR { |
| 29 my ($this) = @_; | 30 my ($this) = @_; |
| 30 | 31 |
| 31 $this->context({}); | 32 $this->context({}); |
| 33 $this->security($this->application->security->new()) | |
| 34 if $this->application->security; | |
| 32 } | 35 } |
| 33 | 36 |
| 34 sub cookie { | 37 sub cookie { |
| 35 my ($this,$name,$rx) = @_; | 38 my ($this,$name,$rx) = @_; |
| 36 | 39 |
| 171 } | 174 } |
| 172 | 175 |
| 173 sub Dispose { | 176 sub Dispose { |
| 174 my ($this) = @_; | 177 my ($this) = @_; |
| 175 | 178 |
| 179 $this->security->Dispose() | |
| 180 if $this->security and $this->security->can('Dispose'); | |
| 181 | |
| 176 $_->Dispose() foreach grep is($_,Disposable), values %{$this->context}; | 182 $_->Dispose() foreach grep is($_,Disposable), values %{$this->context}; |
| 177 | 183 |
| 178 $this->next::method(); | 184 $this->next::method(); |
| 179 } | 185 } |
| 180 | 186 |
