Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-28884

Upgrade 5.2.3 to 6.1.x: Exception "NoSuchResourceActionException: 177#ACCESS_IN_CONTROL_PANEL" thrown when using the Control Panel as a new user with Permission 5 algorithm

    Details

    • Fix Priority:
      2

      Description

      Upgrade 5.2.3 to 6.1.x: Exception "NoSuchResourceActionException: 177#ACCESS_IN_CONTROL_PANEL" thrown when using the Control Panel as a new user with Permission 5 algorithm

      Steps to reproduce:

      1. Start Liferay 5.2.3
      2. Add a user (user1)
      3. Shut down Liferay
      4. Start Liferay 6.1.x (Before doing so, add in all legacy properties from portal-legacy-5.2.properties and portal-legacy-6.0.properties; make sure that the following lines are not commented out in portal-ext.properties):
        permissions.user.check.algorithm=5
        permissions.view.dynamic.inheritance=false
        
      5. Login as user1
      6. Click Go to > Control Panel
        • "NoSuchResourceActionException: 177#ACCESS_IN_CONTROL_PANEL" is thrown in the console, but the portal is still functional, the user can still navigate around in the Control Panel
          22:44:20,665 ERROR [http-bio-8080-exec-5][AdvancedPermissionChecker:966] com.liferay.portal.NoSuchResourceActionException: 177#ACCESS_IN_CONTROL_PANEL
          com.liferay.portal.NoSuchResourceActionException: 177#ACCESS_IN_CONTROL_PANEL
                  at com.liferay.portal.security.permission.ResourceActionsImpl.checkAction(ResourceActionsImpl.java:129)
                  at com.liferay.portal.security.permission.ResourceActionsUtil.checkAction(ResourceActionsUtil.java:73)
                  at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasGuestPermission(AdvancedPermissionChecker.java:879)
                  at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermissionImpl(AdvancedPermissionChecker.java:955)
                  at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermission(AdvancedPermissionChecker.java:595)
                  at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:240)
                  at com.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:351)
                  at com.liferay.portal.service.permission.PortletPermissionUtil.contains(PortletPermissionUtil.java:199)
                  at com.liferay.portlet.BaseControlPanelEntry.isVisible(BaseControlPanelEntry.java:69)
                  at com.liferay.portal.util.PortalImpl.filterControlPanelPortlets(PortalImpl.java:5868)
                  at com.liferay.portal.util.PortalImpl.getControlPanelPortlets(PortalImpl.java:1409)
                  at com.liferay.portal.util.PortalImpl.getControlPanelCategory(PortalImpl.java:1335)
                  at com.liferay.portal.util.PortalUtil.getControlPanelCategory(PortalUtil.java:358)
                  at org.apache.jsp.html.portal.layout.view.control_005fpanel_jsp._jspService(control_005fpanel_jsp.java:484)
                  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
                  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
                  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
                  at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
                  at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
                  at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:468)
                  at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:735)
                  at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:249)
                  at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
                  at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:176)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
                  at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
                  at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:552)
                  at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:529)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
                  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
                  at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
                  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
                  at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:138)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:335)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:241)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:56)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:246)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
                  at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216)
                  at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
                  at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
                  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
                  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
                  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
                  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
                  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
                  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
                  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
                  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
                  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
                  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)
          
      7. Login as test@liferay.com
      8. Click Go to > Control Panel > Server Administration
      9. Go to Data Migration
      10. Flag "Generate Custom Roles" under Convert legacy permission algorithm and click "Execute"
      11. Stop Liferay 6.1.x and comment out the following lines in portal-ext.properties:
        #permissions.user.check.algorithm=5
        #permissions.view.dynamic.inheritance=false
        
      12. Start Liferay 6.1.x
        • Login as user1
      13. Click Go to > Control Panel
        • No exceptions are thrown in the console.

        Attachments

          Activity

            People

            Assignee:
            michael.saechang Michael Saechang
            Reporter:
            christine.pince Christine Pince (Inactive)
            Participants of an Issue:
            Recent user:
            Esther Sanz
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Days since last comment:
              5 years, 28 weeks, 1 day ago

                Packages

                Version Package