Arturo Bernal created JSPWIKI-1355:
--------------------------------------

             Summary: Search, UserPreferences and Workflow pages redirect to 
the login page for every user
                 Key: JSPWIKI-1355
                 URL: https://issues.apache.org/jira/browse/JSPWIKI-1355
             Project: JSPWiki
          Issue Type: Bug
            Reporter: Arturo Bernal
             Fix For: 3.0.1


Since JSPWIKI-129 (commit 1b54e256c, 26 Oct 2026) the pages whose context needs 
no permission are forbidden to every user.

The contexts without a permission of their own (prefs, find, workflow) return 
the dummy permission PropertyPermission "os.name" "read" 
(WikiContext.DUMMY_PERMISSION). Before that commit it passed, because 
AccessController checked it against the policy of the JVM, which grants it. Now 
only the policy of the wiki is consulted, nobody is granted it there, and 
hasAccess denies it.

Measured on a running wiki (Tomcat 10.1 in Docker, default jspwiki.policy), a 
war of master and a war of the parent of 1b54e256c:

|| Page || master || parent of 1b54e256c ||
| Search.jsp?query=test | 302 to Login.jsp | 200 |
| UserPreferences.jsp | 302 to Login.jsp | 200 |
| Workflow.jsp | 302 to Login.jsp | 200 |
| Login.jsp, Message.jsp, Wiki.jsp | 200 | 200 |

Also for a user that is logged in: UserPreferences.jsp shows Forbidden and the 
log says "User ... has no access - forbidden 
(permission=("java.util.PropertyPermission" "os.name" "read"))".

Proposed fix: DefaultAuthorizationManager.checkPermission allows 
WikiContext.DUMMY_PERMISSION, which is what the contract of 
Context.requiredPermission() says (no permission needed). A unit test that 
creates the three contexts from their JSP and fails on master is included in 
the fix.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to