Abstract: Overview of how users and roles of FLE3 are implemented in our Zope Product (with some programming details).
There are two kind of roles in zope, global and local. Global roles are assigned to each user in acl_users folder. Local roles are associated with certain Zope objects; You can define that user A has role B in object C. The important point is that user A now has a local role B (in addition to global roles she might has) in object C and all of its children. For more information about users and roles in Zope, please see http://www.zope.org/Members/mcdonc/PDG/6-1-Security.stx (An excellent article found by Samu.)
Every user has her password and global roles in acl_users folder and all other information in fle_users folder (login name is a common key.) In addition to standard Zope global the following global roles are used:
Should every user has a role 'User'?
Should we add roles like 'Tutor' and 'Student' in courses folder or in FLE root folder?
In different courses a same person can have different roles (e.g. Student in one course and Tutor in another.)
Roles are added in FLE.py:
from common import fle_roles for role in fle_roles: self._addRole(role)
When a new user is added in UserManager.py (in method add_user) a list of global is given in acl_role:
acl_users._doAddUser(uname, password, acl_role, ())
In fle_users folder every user is an owner of herself:
user.changeOwnership(temp_user) # Set the userthingy as a owner (local role) to the # newly created UserInfo object. user.manage_delLocalRoles(user.get_valid_userids()) user.manage_setLocalRoles(uname, ('Owner',))
Courses are not implemented yet.
Date | Person | Modification |
---|---|---|
2001-04-19 | Janne Pietarila | Document created. |