Refactor/global permissions for internal users
What does this MR do?
Creates a new type of "internal" user (currently only "ghost" in CE). Special cases access controls for internal users via the Policy framework.
Are there points in the code the reviewer needs to double check?
Make sure I haven't introduced any security holes :X
Why was this MR needed?
Given that CE already has an internal user, and EE is introducing one, it will be much easier if we elevate this to a first-class concept that can be extended (controlled by User#internal?
).
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
- Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together