views:

103

answers:

1

I have a large implementation of Zend_Acl and the deny function is not working as expected. It is not inheriting properly and I have unresolved conflicts with groups.

Before I get knee deep in code. Are there any well know issues with Zend_Acl or advanced tips anyone wants to share.

I'm having to explicitly deny access to all children in a tree, when I only expect to deny access to one parent.

I have multiple groups with various deny/ allows on the same object. The manual states that the last added group in and array is check first... this does not seem to be the case, it seems to check the most specific to the most general (null) permissions.

If I put permissions on the root of the tree, they stop working when I put any permission further down the tree they stop inheriting.

A: 

For me ACL works as expected. If you do this it has the expected behaviour: * allow default module for all * allow admin module for admins and superadmins * deny admin module / users controler for admins * allow admin module / users controler for superadmins

User can't access admin. Asdmins can't access uers administration. Superadmins can access everything.

Tomáš Fejfar
I am working on an intranet knowledge base that has 1000s of dynamic pages (ie. resources), I have about 30 groups (all the same level, no inheritance), I have the permissions NULL, view and edit (edit includes create/ delete/ move etc). If I give 'superuses' allow(NULL) and 'everyone' allow(view) in the root and then 'everyone' deny(NULL) somewhere down the branch, everything after the 'everyone' deny(NULL) rule looses it's inheritance. I can then put permissions on individual pages but inheritance stops. Rearranging the order of the 'groups' the user is a member of makes no difference.
Simon