在struts2.5版本中使用DMI遇到问题

Posted 山高我为峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在struts2.5版本中使用DMI遇到问题相关的知识,希望对你有一定的参考价值。

struts2.5 为了提升安全性,添加了 allomethod 这么个玩意。

解决方法是在配置文件中添加:

   <package name="exam" extends="json-default">

        <global-allowed-methods>regex:.*</global-allowed-methods>

    <action name="user" class="userAction">
            ...
    </action>

    </package>

或者,针对action,在 action 块中添加

<allowed-methods>regex:.*</allowed-methods>

同样也支持在你的 action 上使用 @AllowedMethods 注解
默认的设置为

<global-allowed-methods>execute,input,back,cancel,browse,save,delete,list,index</global-allowed-methods>

全局设置是增量而不是覆盖的,支持正则和直接匹配方法

默认允许的allowedMethods范围

allowedMethods=[
LiteralAllowedMethod{allowedMethod=\'index\'},
LiteralAllowedMethod{allowedMethod=\'input\'},
LiteralAllowedMethod{allowedMethod=\'execute\'},
LiteralAllowedMethod{allowedMethod=\'save\'},
LiteralAllowedMethod{allowedMethod=\'browse\'},
LiteralAllowedMethod{allowedMethod=\'delete\'},
LiteralAllowedMethod{allowedMethod=\'back\'},
LiteralAllowedMethod{allowedMethod=\'list\'},
LiteralAllowedMethod{allowedMethod=\'cancel\'}]

 

以上是关于在struts2.5版本中使用DMI遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

struts2.5.2 通配符问题_亲测有用

关于Struts2中DMI(动态调用)错误问题

Struts2中遇到的问题

J2EEStruts2.5.10 无法进入Action类的指定方法

struts2.5框架使用通配符无效问题

Struts2 S2-052远程代码执行漏洞预警(CVE-2017-9805)