在应用程序中定期使用登录页面时会使用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访问。
非常感谢任何帮助!
答案 0 :(得分:1)
您可以查看请求'方法并从行动中返回,如果它获取
{{1}}