How to reproduce
- Start with a clean geoserver instance
- Enable hide or challenge catalog mode
- Create workspaces 'au' and 'am'
- Create 1 layer in workspace 'au' (with name 'a') and 1 layer in workspace 'am' (with name 'b') from shapefiles
- Add a role "Reader"
- Add a user "Reader" and make him a member of the role "Reader"
- Add a security rule for 'au.a' and only allow the "Reader" role to read
- Add a security rule for 'am.b' and only allow the "ADMIN" role to read
- Perform a POST request to '/wfs?REQUEST=GetFeature&VERSION=1.1.0&SERVICE=WFS' with basic authentication using the "Reader" user and an OGC filter in the POST data. For example:
- See that the request succeeds and returns results (if the OGC filter matches features)
- Change the catalog mode to mixed
- Try the request again
- See that the request fails with a 403 forbidden HTTP code
Expected behavior Since the OGC filter used for the getFeature request limits our search to a specific layer, the request should succeed in mixed catalog mode, just as it does in challenge or hide mode. |