You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Julie Zhuo (JIRA)" <be...@incubator.apache.org> on 2005/08/05 22:46:36 UTC
[jira] Closed: (BEEHIVE-813) Cannot hit page flow actions under certain Java security policies
[ http://issues.apache.org/jira/browse/BEEHIVE-813?page=all ]
Julie Zhuo closed BEEHIVE-813:
------------------------------
Verified at rev227121. Can now access all public actions with no exception. Note, this secuirty policy used here does not cover simple actions.
> Cannot hit page flow actions under certain Java security policies
> -----------------------------------------------------------------
>
> Key: BEEHIVE-813
> URL: http://issues.apache.org/jira/browse/BEEHIVE-813
> Project: Beehive
> Type: Bug
> Components: NetUI
> Versions: v1m1
> Reporter: Rich Feit
> Assignee: Julie Zhuo
> Fix For: V1
>
> This bug involves hitting a *public* page flow action with a Java security policy enabled. You should be able to hit the action if it's public, even if the policy restricts access to private and protected members.
> Repro (the easiest way to reproduce this):
> - cd to $CATALINA_HOME/bin.
> - create a file called mysecurity.policy (and REPLACE my c:/prog/... tomcat/jdk directories with ones of your own):
> ---
> grant codeBase "file:///c:/prog/jakarta-tomcat-5.0.25/-"{
> permission java.security.AllPermission;
> };
> grant codeBase "file:///c:/prog/jdk1.5.0/-"{
> permission java.security.AllPermission;
> };
> grant {
> permission java.util.PropertyPermission "*", "read";
> permission java.lang.RuntimePermission "accessDeclaredMembers";
> };
> ---
> - set the JAVA_OPTS environment variable:
> (windows) set JAVA_OPTS=-Djava.security.manager -Djava.security.policy=mysecurity.policy
> (linux) export JAVA_OPTS="-Djava.security.manager -Djava.security.policy=mysecurity.policy"
> - start tomcat:
> (windows) .\startup.bat
> (linux) ./startup.sh
> Deploy a webapp and hit any page flow action method (a method, not a @Jpf.SimpleAction). You get the following exception:
> java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks)
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
> java.security.AccessController.checkPermission(AccessController.java:427)
> java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
> java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:107)
> org.apache.beehive.netui.pageflow.FlowController.getActionMethod(FlowController.java:698)
> org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:745)
> org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:426)
> org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:285)
> org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:306)
> org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:48)
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:104)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:1998)
> org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:63)
> org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:86)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2067)
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:593)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:866)
> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:600)
> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:163)
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:585)
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:241)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
> java.security.AccessController.doPrivileged(Native Method)
> java.security.AccessController.doPrivileged(Native Method)
> org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:127)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1774)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processPageFlowRequest(PageFlowRequestProcessor.java:764)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:518)
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:866)
> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:600)
> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:163)
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:585)
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:241)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira