Wicket针对伪造请求的安全性

时间:2011-07-19 13:40:56

标签: security forms wicket

如果我隐藏和禁用Wicket表单,我是否需要仔细检查onSubmit中的可见性条件? (就像我们在JS验证和服务器验证中所做的那样?)

考虑一下这个Wicket片段:

public class TestPage extends WebPage {
    public TestPage() {
        boolean editable = checkIfUserCanEdit();
        add(new TestForm()
                .setEditable(false)
                .setVisible(false));
    }
}
public static class TestForm {
    ...
    public void onSubmit() {
        if (!checkIfUserCanEdit()) abort(); // Is this necessary?
        ...
    }
}

我的onSubmit中是否需要“重新验证”?

1 个答案:

答案 0 :(得分:2)

查看onSubmit()的调用层次结构,遇到了

protected void delegateSubmit(IFormSubmitter submittingComponent)
[...]
    public void component(Form<?> form, IVisit<Void> visit)
    {
        if (form.isEnabledInHierarchy() && form.isVisibleInHierarchy())
        {
            form.onSubmit();
        }
    }
[...]

鉴于我要说,不需要进一步保护。