LPS-38031 Minimal fix 1/2: Solve by hardcoding for the 5 portlets that have root resources with VIEW permission and thus are affected by this issue
LPS-38031 Minimal fix 2/2: Setting the permission on the root resource has to be done at the very end to ensure it is applied. Otherwise the value in the request may win.

This has been a separate commit to make it obvious that this change is necessary
LPS-38031 Implement mechanism to specify which is the root model resource of a portlet
LPS-38031 Set root to true in all root resources
LPS-38031 Use new methods to find the root resource of a portlet instead of hardcoding it
LPS-38031 Typo
LPS-38031 Keep it closer to where it's used (not as efficient, but easier to read). In this caes, perf is not an issue since this is only used on reading of plugins and will result in 0 ms difference.
LPS-38031 The code was making the previous comments incorrect. Move it around and add a new comment block so that the previous comments are still true.
LPS-40421 Add type to AuthException and create a RemoteAuthException for the same errors to indicate that they happened in the remote server
LPS-40421 Use the new exceptions
LPS-40421 Modify the redirect URL when we're trying to turn on staging so that we return to the appropriate section otherwise the error message will not be visible
LPS-40421 Add the error messages to the appropriate pages
LPS-40421 Use the same error messages for the same errors
LPS-40421 Language keys for the new error messages
LPS-40421 Remove obsolete language keys
LPS-40421 I don't think we'll have more than 1k exception types
LPS-40421 Don't duplicate translations
LPS-40421 Consolidate duplicate code
LPS-38031 SF
LPS-39113 - Change the style of back arrow

LPS-39113 - Fix conflict

LPS-39113 - remove box-shadow around site title