Mercurial > pub > Impl
view Lib/IMPL/Security.pm @ 57:bf59ee1cd506
Web application main class functionality
author | wizard |
---|---|
date | Fri, 05 Mar 2010 13:59:29 +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