comparison Lib/IMPL/Security.pm @ 51:a1498298d3ee

Security in progress
author wizard@linux-odin.local
date Mon, 01 Mar 2010 17:25:36 +0300
parents 521c9c1a3ea1
children f47f93534005
comparison
equal deleted inserted replaced
50:521c9c1a3ea1 51:a1498298d3ee
1 package IMPL::Security; 1 package IMPL::Security;
2 require IMPL::Security::Context;
3 require IMPL::Security::Rule::RoleCheck;
4
5 our @rules = (
6 \&IMPL::Security::Rule::RoleCheck::SatisfyAll
7 );
8
9 sub AccessCheck {
10 my ($self, $object, $desiredAccess, $context) = @_;
11
12 $context = IMPL::Security::Context->contextCurrent;
13
14 $_->() or return 0 foreach @{$self->Rules};
15
16 return 1;
17 }
18
19 sub Rules {
20 return \@rules;
21 }
2 22
3 1; 23 1;
4 24
5 __END__ 25 __END__
6 26
7 =pod 27 =pod
8 28
9 =head1 DESCRIPTION 29 =head1 DESCRIPTION
10 30
31 Модуль для инфраструктуры безопасности, реализует основные функции для авторизации
32 и аутентификации пользователей.
33
34 Модуль аутентификации, реализиция которого зависит от приложения, аутентифицирует
35 пользователя, при этом создается контекст безопасности, который содержит
36 идентификатор пользователя и список активных ролей.
37
38 При проверке прав доступа происходит последовательная проверка правил доступа,
39 если все правила выполнены, то доступ разрешается.
40
11 41
12 42
13 =cut 43 =cut