Changeset 420
- Timestamp:
- 09/04/09 05:12:38 (15 years ago)
- Location:
- LATMOS-Accounts
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LATMOS-Accounts/lib/LATMOS/Accounts/Acls.pm
r323 r420 182 182 sub match { 183 183 my ($self, $obj, $attr, $perm, $who, $groups) = @_; 184 my $objtype = lc($obj->type); $attr = lc($attr); 184 my $objtype = ref $obj ? lc($obj->type) : $obj; 185 $attr = lc($attr); 185 186 if (!($self->{obj} eq '*' || $self->{obj} eq $objtype)) { 186 187 return … … 190 191 foreach my $u (@{ $self->{users} }) { 191 192 if (substr($u->{user}, 0, 1) eq '$') { # check attr content 192 my $attribute = substr($u->{user}, 1); 193 my $val = $obj->_get_c_field($attribute); 194 my @vals = ref $val ? (@{ $val }) : ($val); 195 return ($u->{$perm} || 0) if (grep { $_ eq $who } @vals); 193 if (ref $obj) { 194 my $attribute = substr($u->{user}, 1); 195 my $val = $obj->_get_c_field($attribute); 196 my @vals = ref $val ? (@{ $val }) : ($val); 197 return ($u->{$perm} || 0) if (grep { $_ eq $who } @vals); 198 } 196 199 } elsif (substr($u->{user}, 0, 1) eq '%') { # group 197 200 my $group = substr($u->{user}, 1); -
LATMOS-Accounts/t/21_acls.t
r317 r420 1 1 use strict; 2 2 use warnings; 3 use Test::More tests => 1 3;3 use Test::More tests => 14; 4 4 5 5 use_ok('LATMOS::Accounts::Acls'); … … 39 39 $acls->check(fakeobject->new('group', 'group1'), 'uid', 'w', 40 40 'user1', [ 'admin' ]), 1, "user can write group attribute"); 41 is( 42 $acls->check('user', 'CREATE', 'w', 'user1', [ 'admin' ]), 1, 43 "user can create a new user"); 41 44 } 42 45 -
LATMOS-Accounts/testdata/acls1
r314 r420 3 3 *.userPassword 4 4 *: read,deny # the deny will mask the read 5 6 user.CREATE 7 user1: write 5 8 6 9 user.{sn,\
Note: See TracChangeset
for help on using the changeset viewer.