You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (Jira)" <ji...@apache.org> on 2022/09/29 13:21:00 UTC

[jira] [Commented] (WW-5238) Strict Method Invocation (SMI) too strict?

    [ https://issues.apache.org/jira/browse/WW-5238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17611038#comment-17611038 ] 

Lukasz Lenart commented on WW-5238:
-----------------------------------

You are using {{action:}} prefix is not allowed by default, see
https://struts.apache.org/core-developers/action-mapper#defaultactionmapper

> Strict Method Invocation (SMI) too strict?
> ------------------------------------------
>
>                 Key: WW-5238
>                 URL: https://issues.apache.org/jira/browse/WW-5238
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 6.0.3
>            Reporter: Daniel Wu
>            Priority: Critical
>
> Got the following error (Error No. 2) when trying to create one record. The prompt method is not supposed to be invoked for aSbmt1. Before that, the aSbmt1 was not accepted (Error No. 1). I tried several ways to try to overwrite the regular expression without success. Was something strange introduced into the Struts 2 version 6.0.3? Is Strict Method Invocation (SMI) in a dead loop? I am surprised at that there is no issue reported for the Struts 2 version 6.0.3 yet.
> 1. com.opensymphony.xwork2.interceptor.ParametersInterceptor - *{color:#ff0000}Parameter [action:aSbmt1] didn't match accepted pattern{color}* [[\w+((\.\w+)|(\[\d+])|((\d+))|(['(\w-?|[\u4e00-\u9fa5]{-}?){+}'])|(('(\w{+}{-}?|[\u4e00-\u9fa5]-?)')))*]]! See Accepted / Excluded patterns at
> [https://struts.apache.org/security/#accepted--excluded-patterns]
> *{color:#ff0000}2. com.opensymphony.xwork2.config.ConfigurationException: Method prompt for action aSbmt1 is not allowed!{color}*
>     at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:191) ~[struts2-core-6.0.3.jar:6.0.3]
>     at org.apache.struts2.factory.StrutsActionProxy.prepare(StrutsActionProxy.java:57) ~[struts2-core-6.0.3.jar:6.0.3]
>     at org.apache.struts2.factory.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:32) ~[struts2-core-6.0.3.jar:6.0.3]
>     at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:60) ~[struts2-core-6.0.3.jar:6.0.3]
>     at org.apache.struts2.dispatcher.Dispatcher.createActionProxy(Dispatcher.java:673) ~[struts2-core-6.0.3.jar:6.0.3]
>     at org.apache.struts2.dispatcher.Dispatcher.prepareActionProxy(Dispatcher.java:658) ~[struts2-core-6.0.3.jar:6.0.3]
>     at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:621) ~[struts2-core-6.0.3.jar:6.0.3]
>     at org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) ~[struts2-core-6.0.3.jar:6.0.3]
>     at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) ~[struts2-core-6.0.3.jar:6.0.3]
>     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) ~



--
This message was sent by Atlassian Jira
(v8.20.10#820010)