我目前正在根据特定标准过滤文档列表。
然后我将此列表呈现给用户,我有一个
<p:commandButton action="#{controllerBean.downloadDocument(document.id)}" ajax="false" />
查看呈现的代码,我在任何地方都看不到文档 ID,但这并不意味着它以某种方式进行了编码,并且可以从客户端进行解码、更改和重新编码。
我对 JSF 状态处理的理解相当薄弱,但如果我错了,请纠正我:无法从客户端手动更改操作参数值的值,因为即使存储在客户端上,也只有服务器可以对会话进行解码和编码状态,参数值存储在那里。我是对的还是应该添加一个检查以downloadDocument(document.id)
确保用户有权下载该特定文件document.id
?无论如何,我将来都会添加此检查,但我想知道这个问题现在有多重要。