Setting default permissions from Python code
We are currently developing a learning environment by making our own Zope product. The product has several courses and different users have different Zope roles on each course (tutor, student, expert). That is, a user X may have a role 'student' on course C1, but only role 'tutor' on course C2. We implemented security as described in Zope Developer's Guide (http://www.zope.org/Documentation/ZDG/Security.dtml), however, when we use setPermissionDefault() for class ClassSecurityInfo, there are no any visible changes in manage_access interface. It looks like default permissions set in Python code don't affect Zope at all. We checked how permissions are handled in the CMF (Content Management Framework) product. Here is a code snippet from setupPermissions(): <-- cut <--- def setupPermissions(self, p): # Set up some suggested role to permission mappings. mp = p.manage_permission mp('Set own password', ['Member','Manager',], 1) mp('Set own properties', ['Member','Manager',], 1) mp('Add portal content', ['Owner','Member','Manager',], 1) ...etc.. ---> cut ---> So we added some manage_permission() calls to our own code after which everything worked just like we want. Is this currently the only way to manage default permissions? From (http://www.zope.org/Documentation/ZDG/Security.dtml you get an impression that you should only use setPermissionDefault(). -- Ilkka Kekkonen ilkka.kekkonen@uiah.fi Janne Pietarila janne.pietarila@uiah.fi
participants (1)
-
Janne Pietarila