Details
-
Improvement
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
Description
Reproduction:
- start up the site-testsuite
- navigate to English Demo Site
- go to channel mgr overview
- navigate to 'My Hippo Project'
Expected behavior: 'My Hippo Project' is opened but it isn't, instead a 500 error is returned on fetching the URL ending with /channels/myproject
The reason for this is as follows:
When clicking on English Demo Site , on the http session we store which channel is being opened in the channel mgr. This channel is part of the /site webapp. All rest end point methods are before being invoked processed by InvokerPreprocessor's : These for example check whether access is allowed. However these InvokerPreprocessor's typically fetch the channel from the http session to do the checks against (for example does the user have the right privilege on the channel).
However, some methods are invoked to switch to a different channel, but then the InvokerPreprocessor's still check against the already stored channel id on the http session. This of course should not be done. We need some 'ChannelAgnostic' methods because they are only used to switch from one channel to another one