[Moin-user] ACLs on new created (sub) pages
Nir Soffer
nirs at actcom.net.il
Sun May 22 01:37:07 EDT 2005
On 19 May, 2005, at 6:24, moin-user-request at lists.sourceforge.net wrote:
> until now we had a very closed user group for our wiki. I used the
> following in my wikiconfig.py.
>
> acl_rights_before =3D u"RalfGross:read,write,delete,revert,admin"
> acl_rights_default =3D 'ValidUserGroup:admin,read,write,delete,revert
> All=
> :'
>
> Now we have the need to permit read (and sometimes write) access on
> singe=
> l
> pages to new users. I accompished that with:
>
> #acl UserFoo:read,write Default
>
> This works, but if the user creates a Link to a new page, he doesn't
> have
> the rights to create this page because he is not listed in the default
> acl.
If you want users to have write access on new pages, add the users to
group NewPagesGroup, and give this group read,write rights on
acl_rights_after. Make sure this group does not have write right on
existing pages by adding NewPagesGroup:read on the end of the page acl.
Maybe you like to have a custom SecurityPolicy, with few lines of
Python code that implement the creation of new pages rules. Here is an
example:
# policy.py
# should be in the same directory as farmconfig
from MoinMoin import security
class SecurityPolicy(security.Permissions):
def create(self):
# Don't let annonymous user to create new pages
if not self.request.user.valid:
return False
# Let memebers of group NewPagesGroup to create pages
return self.request.dicts.has_member(u'NewPagesGroup',
self.request.user.name)
def write(self, pagename):
if not self.request.page.exists():
return self.create()
else:
# Let the base class decide
return security.Permissions.write(self, pagename)
# farmconfig.py
from MoinMoin.multiconfig import DefaultConfig
class FarmConfig(DefaultConfig):
from policy import SecurityPolicy
Best Regards,
Nir Soffer
More information about the Moin-user
mailing list