[DEFECT] DOT_ENABLE_NAV_PERMISSION_CHECK breaks all drop downs regardless of permissions
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Problem Statement
When ENABLE_NAV_PERMISSION_CHECK is set to true, it causes drop down menus to no longer function, even if the folders have CMS Anonymous view permissions. In my local testing environment when loading the main index page, it throws.
[24/03/26 19:29:46:844 UTC] WARN navigation.NavResultHydrated: getChildren Cannot invoke "org.apache.velocity.tools.view.context.ViewContext.getRequest()" because "this.context" is null @ url:GET//demo.dotcms.com/store/ | lang:1 | ip:172.64.80.1 | Admin:false | start:03-24-2026 01:17:32 UTC ref:http://localhost:8080/
[24/03/26 19:29:46:969 UTC] WARN navigation.NavResultHydrated: getChildren Cannot invoke "org.apache.velocity.tools.view.context.ViewContext.getRequest()" because "this.context" is null @ ConnectorThreadPool-1
Steps to Reproduce
https://github.com/user-attachments/assets/1ff07d37-f5ee-4dfc-9119-f7c73e18d2c0
Acceptance Criteria
Ensure that DOT_ENABLE_NAV_PERMISSION_CHECK properly checks permissions and displays drop down menus when the permissions are met.
dotCMS Version
Evergreen 26.03.17-01
Severity
High - Major functionality broken
Links
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with DOT_ENABLE_NAV_PERMISSION_CHECK enabled and inspect the navigation permission-check path around NavResultHydrated, using the reported null ViewContext warning as the first clue. Verify the behavior with folders that have CMS Anonymous view permissions; done means dropdowns render when permissions are met and the reported exception no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authorization, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100