在Struts 1的查询中禁用正文参数

时间:2017-07-07 21:04:12

标签: servlets struts-1

在应用程序中定期使用登录页面时会使用DynaValidatorForm点击“提交”。发出包含用户用户名和密码的POST请求。然后在关联的动作类中对其进行验证和处理。

服务器代码:

protected ActionForward performAction(ActionMapping mapping,
        ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {    
    DynaValidatorForm dynaForm = (DynaValidatorForm) form;
    //validation here 
    //...
    //
    Login login = new Login();
    PropertyUtils.copyProperties(login, dynaForm);
    //login object is used from here on out

但是,可以通过使用URL中的参数发出GET请求来登录,即www.my-site.com/LoginPage.do?loginName=username&password=password

是否有某种方法可以禁止Struts在表单中使用网址参数?

我目前的解决方法是使用一个过滤器来检查查询字符串并重定向,如果它包含一个应该在POST主体中的参数,但我正在寻找一个更优雅的解决方案。我不能只是禁用GET,因为需要类似解决方案的其他页面需要通过GET访问。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您可以查看请求'方法并从行动中返回,如果它获取

{{1}}