Details
-
Bug
-
Status: Closed
-
High
-
Resolution: Fixed
-
2.18.01
-
None
Description
In the Hippo repository the checkPrivileges() is overridden. When running embedded this works fine. However when running over RMI the org.apache.jackrabbit.rmi.client.ClientSession maps the checkPrivileges method to hasPrivileges before doing the remote call. So the overridden checkPrivileges is not called at all.
SEVERE: Servlet.service() for servlet LogViewer threw exception
java.lang.IllegalArgumentException: Unknown actions: [hippo:admin]
at org.apache.jackrabbit.core.SessionImpl.hasPermission(SessionImpl.java:1548)
at org.hippoecm.repository.decorating.SessionDecorator.hasPermission(SessionDecorator.java:387)
at org.hippoecm.repository.decorating.checked.SessionDecorator.hasPermission(SessionDecorator.java:484)
at org.apache.jackrabbit.rmi.server.ServerSession.hasPermission(ServerSession.java:111)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy25.hasPermission(Unknown Source)
at org.apache.jackrabbit.rmi.client.ClientSession.hasPermission(ClientSession.java:318)
at org.apache.jackrabbit.rmi.client.ClientSession.checkPermission(ClientSession.java:308)
at org.onehippo.forge.authfilter.BasicAuthenticationFilter.checkPrivileges(BasicAuthenticationFilter.java:212)
at org.onehippo.forge.authfilter.BasicAuthenticationFilter.authenticate(BasicAuthenticationFilter.java:149)
at org.onehippo.forge.authfilter.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:268)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:396)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Attachments
Issue Links
- causes
-
REPO-34 backport CMS7-4999: support checkPermission() over RMI
- Closed
- is awaited by
-
HIPPLUG-158 Upgrade Authfilter to CMS 7.5
- Closed