ProjectSecurity
|
Starting form EmForge-0.20 we started deep job related to security. First implemented part is related to implementation security and roles for Projects and Milestones.
Initially I planned to use Authorization Services from Acegi Security - but... seems it is too hard for me for now. So, it was done by another way:
So, since Project DAO is only responsible for correct storing and getting project related information, Project Service is reposible for security issues also. From now, whole project will user only ProjectService bean for working with project.
Project Service has 2 sets of functions: action function itself (this function performs some actions like save project or delete, or gets some information). This methods throws AuthorizationException if current user is not allowed to do this action. And set of "can"-function - this functions check - is current user allowed to do some action and returns true or false (so, this methods may be used in GUI for disabling/enabling some functionality)
| Action | Allowed for |
|---|---|
| getProject | to everyone (later for private projects it will be allowed only for project members) |
| createProject | only to site admins (currently not implemented) |
| changeProject | for site admins (not implemented yet) and project managers |
| deleteProject | site admins (not implemented yet) |
| getMilestone | to everyone (later for private projects it will be allowed only for project members) |
| createMilestone | for site admins (not implemented yet) and project managers |
| changeMilestone | for site admins (not implemented yet) and project managers |
| deleteMilestone | for site admins (not implemented yet) and project managers |
| Last Modified by akakunin 1 year ago |