comparison Lib/IMPL/Security.pm @ 230:6d8092d8ce1b

*reworked IMPL::Security *reworked IMPL::Web::Security *refactoring
author sergey
date Mon, 08 Oct 2012 03:37:37 +0400
parents 4d0e1962161c
children 7c517134c42f
comparison
equal deleted inserted replaced
229:47f77e6409f7 230:6d8092d8ce1b
1 package IMPL::Security; 1 package IMPL::Security;
2 require IMPL::Security::Context; 2 use strict;
3 use Carp qw(carp);
4
5 ##VERSION##
6
7 require IMPL::Exception;
8 require IMPL::Security::AbstractContext;
3 require IMPL::Security::Rule::RoleCheck; 9 require IMPL::Security::Rule::RoleCheck;
4 10
5 our @rules = ( 11 our @rules = (
6 \&IMPL::Security::Rule::RoleCheck::SatisfyAll 12 \&IMPL::Security::Rule::RoleCheck::SatisfyAll
7 ); 13 );
9 our $authority = undef; 15 our $authority = undef;
10 16
11 sub AccessCheck { 17 sub AccessCheck {
12 my ($self, $object, $desiredAccess, $context) = @_; 18 my ($self, $object, $desiredAccess, $context) = @_;
13 19
14 $context ||= IMPL::Security::Context->contextCurrent; 20 $context ||= IMPL::Security::AbstractContext->context;
15 21
16 $_->() or return 0 foreach @{$self->Rules}; 22 $_->() or return 0 foreach @{$self->Rules};
17 23
18 return 1; 24 return 1;
19 } 25 }