-
For the spike (audit + matrix document): 2–3 days
- Day 1: grep all
@PreAuthorizeannotations across the backend, map each role to operations - Day 2: build the full matrix, identify gaps, draft policy
- Day 3: implement frontend filtering in Create User modal + backend validation in
UserServiceImpl
3–4 days for the full spike — audit, matrix, frontend filtering, and backend validation in UserServiceImpl.
For 1.10.0 the time estimate is 0 — it's documented as a caveat, no code change.
- Day 1: grep all
| Type |
Improvement
|
| Priority |
Minor
|
| Assignee | |
| Version |
1.10.1
|
| Sprints |
n/a
|
| Customer |
n/a
|
Issue Votes (0)
Summary
Create User form presents all 10 system roles equally for external user types with no guidance, risking inappropriate role assignments.
Steps to Reproduce
Observation
For external users (CUSTOMER, PARTNER, GUEST, COMMUNITY) the roles with known safe semantics are:
Roles beyond CUSTOMER_SUPPORT (DEVELOPER, PROJECT_MANAGER, ADMIN, etc.) have not been evaluated for external user safety.
Actual Behavior
All 10 roles shown regardless of User Type. No default selected. Admin must manually choose with no guidance, risking overprivileged external users. Existing user extuser1 (CUSTOMER) holds PROJECT_MANAGER role, demonstrating the risk is real.
Caveat
The permission matrix for external users across all system roles is not fully documented. Assigning roles beyond CUSTOMER_SUPPORT to external users may grant unintended access. A dedicated spike is required to audit @PreAuthorize annotations and role-gated operations before a safe external-role policy can be enforced.
Proposed Immediate Action
Affected Components
Severity
Low (for 1.10.0) — no enforcement change needed now, caveat documented
Follow-up
Spike: audit all @PreAuthorize role checks and produce definitive external-user permission matrix