Use Case: Access Control
Summary
- Scope: Map Editor
- Level: User Goal
- Actors: User
- Brief: User is restricted to access and modify only maps they are allowed to.
- Status: Done
- Assignee: Justus
- Criticality: System Critical
Scenarios
-
Precondition:
- The user is logged in and wants to open a map.
-
Main success scenario:
- The user is able to open and modify maps according to the following matrix, showing the access level of the map as well as the user's role. | Access Level | Owner | Member | Collaborator | Other | |--------------|-------------|-------------|--------------|------------| | Public | Read/Modify | Read/Modify | Read/Modify | Read Only | | Protected | Read/Modify | Read/Modify | Read/Modify | No Access | | Private | Read/Modify | No Access | Read/Modify | No Access |
-
Error scenario:
- The user attempts to open a map he should not have access to by entering map IDs in the URL.
- The user sees a 404, indicating the map does not exist or the user does not have permission to access it.
-
Error scenario:
- The user attempts to forge a request that would modify a map to which he has only read access.
- The user sees a 403, indicating that the user does not have the required permissions for this operation.
-
Postcondition:
- The user is shown the map he clicked on and is able to view and perform interactions according to the access matrix above.
-
Non-functional Constraints:
- The authorization process should be invisible to the users unless an error occurs.
Leftovers
- None