现在我们使用的是Struts2.5,我在Struts2.5的配置文件中有Dynamic Method Invocation=true。
我有如下的动作映射。
<action name="action name" class="action class"
<result name="view" type="redirectAction"></result>
<allowed-methods>
view,modify,delete,duplicate
</allowed-methods>
</action>为了修复App-sec发现,我必须将动态方法调用设置为false。
我已经设置了Dynamic Method Invocation value="false"。现在,允许的方法不起作用。
我确实用方法指定了多个操作,但它也不起作用。它从Action类调用默认的reset和process方法,而不是调用指定的方法。
我读到过,为了让allowed-methods工作,我们必须将动态方法调用设置为true
如何在禁用动态方法调用的情况下使用相同的操作调用多个方法?
发布于 2020-05-29 21:26:59
如果关闭了DMI,则不能动态调用方法;这就是关闭它的意义所在。
您可以使用Strict Method Invocation显式地允许方法;缺省情况下启用它。
您不能两者兼得--DMI要么已启用,要么未启用。
https://stackoverflow.com/questions/62068693
复制相似问题