Mercurial > pub > Impl
view Lib/IMPL/Security.pm @ 59:0f3e369553bd
Rewritten property implementation (probably become slower but more flexible)
Configuration infrastructure in progress (in the aspect of the lazy activation)
Initial concept for the code generator
author | wizard |
---|---|
date | Tue, 09 Mar 2010 02:50:45 +0300 |
parents | a1498298d3ee |
children | f47f93534005 |
line wrap: on
line source
package IMPL::Security; require IMPL::Security::Context; require IMPL::Security::Rule::RoleCheck; our @rules = ( \&IMPL::Security::Rule::RoleCheck::SatisfyAll ); sub AccessCheck { my ($self, $object, $desiredAccess, $context) = @_; $context = IMPL::Security::Context->contextCurrent; $_->() or return 0 foreach @{$self->Rules}; return 1; } sub Rules { return \@rules; } 1; __END__ =pod =head1 DESCRIPTION Модуль для инфраструктуры безопасности, реализует основные функции для авторизации и аутентификации пользователей. Модуль аутентификации, реализиция которого зависит от приложения, аутентифицирует пользователя, при этом создается контекст безопасности, который содержит идентификатор пользователя и список активных ролей. При проверке прав доступа происходит последовательная проверка правил доступа, если все правила выполнены, то доступ разрешается. =cut