Mercurial > pub > Impl
view Lib/IMPL/Security.pm @ 54:f4e045e47770
commit
author | wizard@linux-odin.local |
---|---|
date | Tue, 02 Mar 2010 20:15:57 +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