Struts2を使用してWebアプリを作成していますが、マップされたアクションが任意のURLで機能するという問題があります。
私のstruts.xmlファイルでは、いくつかのアクションを含む「/registration」という名前空間でパッケージを構成しました。メインのアクションは「register」です。私のアプリのコンテキストルートは「app/test」です。
登録フォームにアクセスするには、「localhost:8080 / app / test / registration / register.action」にアクセスすると、フォームが読み込まれ、正常に機能します。
ただし、名前空間の後にURLに「localhost:8080 / app / test / registerration / Arbitrary / text / here / register.action」などの何かが追加された場合でも、フォームは読み込まれます。
フォームに適切なURLでしかアクセスできないように、これを防止したいと思います。struts.xmlとweb.xmlでさまざまな構成オプションを試しましたが、役に立ちませんでしたが、この問題に関する知識をWeb上で簡単に見つけることができません。
どんな助けでもありがたいです、ありがとう!
struts.xml
<struts>
<package name="myPackage" namespace="/registration" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
<action name="register" class="edu.uconn.test.action.RegistrationAction" method="input">
<result name="input" type="tiles">/register.tiles</result>
</action>
</package>
</struts>