org.kuali.rice.krad.web.controller.MethodAccessException: Access is protected for controller: org.kuali.student.enrollment.class2.appointment.controller.RegistrationWindowsController and method: refreshAfterDialog

Kuali JIRA | Maribeth Kibbey | 2 years ago
  1. 0

    Steps to reproduce: You have created a window (of any type/variety) and have assigned appointments Click "Break appointments" Click Break in the confirmation dialog box Get a browser message asking you to confirm whether or not you want to stay/leave this page Click leave, get following stack trace: org.kuali.rice.krad.web.controller.MethodAccessException: Access is protected for controller: org.kuali.student.enrollment.class2.appointment.controller.RegistrationWindowsController and method: refreshAfterDialog at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.checkHandlerMethodAccess(UifControllerHandlerInterceptor.java:106) at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.preHandle(UifControllerHandlerInterceptor.java:62) at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:130) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    Kuali JIRA | 2 years ago | Maribeth Kibbey
    org.kuali.rice.krad.web.controller.MethodAccessException: Access is protected for controller: org.kuali.student.enrollment.class2.appointment.controller.RegistrationWindowsController and method: refreshAfterDialog
  2. Speed up your debug routine!

    Automated exception search integrated into your IDE

  3. 0

    Steps to reproduce: You have created a window (of any type/variety) and have assigned appointments Click "Break appointments" Click Break in the confirmation dialog box Get a browser message asking you to confirm whether or not you want to stay/leave this page Click leave, get following stack trace: org.kuali.rice.krad.web.controller.MethodAccessException: Access is protected for controller: org.kuali.student.enrollment.class2.appointment.controller.RegistrationWindowsController and method: refreshAfterDialog at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.checkHandlerMethodAccess(UifControllerHandlerInterceptor.java:106) at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.preHandle(UifControllerHandlerInterceptor.java:62) at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:130) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    Kuali JIRA | 2 years ago | Maribeth Kibbey
    org.kuali.rice.krad.web.controller.MethodAccessException: Access is protected for controller: org.kuali.student.enrollment.class2.appointment.controller.RegistrationWindowsController and method: refreshAfterDialog
  4. 0

    Unable to create new Agenda. Adding proposition, redirected to a blank page. Steps to reproduce 1. Create new Agenda 2. Add Rule 3. Add Propositions This is reproducible on env5. Here is the STE. {code} 2014-05-23 21:10:27,614 [http-bio-8080-exec-8] u:quickstart/d: ERROR org.kuali.rice.krad.web.controller.UifHandlerExceptionResolver - Access is protected for controller: org.kuali.rice.krms.impl.ui.AgendaEditorController and method: addProposition org.kuali.rice.krad.web.controller.MethodAccessException: Access is protected for controller: org.kuali.rice.krms.impl.ui.AgendaEditorController and method: addProposition at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.checkHandlerMethodAccess(UifControllerHandlerInterceptor.java:106) at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.preHandle(UifControllerHandlerInterceptor.java:62) at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:130) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:78) at org.kuali.rice.kew.web.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:62) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:89) at org.kuali.rice.krad.web.filter.UserLoginFilter.doFilter(UserLoginFilter.java:77) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:327) at org.kuali.rice.krad.web.filter.DummyLoginFilter.doFilter(DummyLoginFilter.java:82) at org.kuali.rice.krad.web.filter.DummyLoginFilter.doFilter(DummyLoginFilter.java:62) at org.kuali.rice.krad.web.filter.BootstrapFilterChain.doFilter(BootstrapFilter.java:320) at org.kuali.rice.krad.web.filter.BootstrapFilter.doFilter(BootstrapFilter.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) {code} This is related to Spring Binding security. The blank page is a result of access restrictions on the view. Here is what I am noticing: When the Lifecycle finalize phase happens, it registers all of the methodsToCall in the view as accessible by adding to the accessibleMethodToCalls property in ViewPostMetaData (See Action.performFinalize()). This restricts access to only the various methodsToCalls defined in the view. Every time a button is clicked, the method to call associated with the button is compared to the list and only if this is present in the list, access to the view is allowed (see method checkForViewMethodAccess in UifControllerHandlerInterceptor). However, there are methods present in the view, that are defined in the actionScript property as ajax calls like the following that never get registered. {code:title=RuleMaintenance.xml} <bean parent="AgendaEditorView-barButton" p:actionScript="var enabled = enabledCheck('add'); if (enabled) { ajaxCallPropositionTree('addProposition', 'RuleEditorView-Tree'); }" {code} This addProposition method is never registered as an accessible method for the view so the page does not render anytime you click on of these methods that are called by ajax. Seems like the finalize method needs to register these methods too.

    Kuali JIRA | 3 years ago | Gayathri Athreya
    org.kuali.rice.krad.web.controller.MethodAccessException: Access is protected for controller: org.kuali.rice.krms.impl.ui.AgendaEditorController and method: addProposition

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.kuali.rice.krad.web.controller.MethodAccessException

      Access is protected for controller: org.kuali.student.enrollment.class2.appointment.controller.RegistrationWindowsController and method: refreshAfterDialog

      at org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.checkHandlerMethodAccess()
    2. org.kuali.rice
      UifControllerHandlerInterceptor.preHandle
      1. org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.checkHandlerMethodAccess(UifControllerHandlerInterceptor.java:106)
      2. org.kuali.rice.krad.web.controller.UifControllerHandlerInterceptor.preHandle(UifControllerHandlerInterceptor.java:62)
      2 frames