我有一个@ManagedBean @SessionScoped类来表示用户会话。假设它有一个理论方法doHorribleThings()
。例如,可以通过Prime Faces action="#{userSession.doHorribleThings()}"
上的p:commandButton
等表达式语言属性来启用通过JSF访问此bean的方法。
我的问题是,JSF是否管理此类方法的访问安全性?用户是否可以发出执行未为他呈现的按钮的动作,例如通过发送一个人工HTTP包?或者JSF是否封装了一个遍布网络的虚拟客户端桌面,通过GUI设计有效地实现了访问控制?
答案 0 :(得分:0)
不,据我所知,JSF在UI以外的托管bean中调用方法没有访问安全性。
因为如果你能够模仿通过点击带有手动HTTP请求的JSP / Primefaces按钮而发生的动作,那么JSF容器无法识别两者之间的差异,因此对于两个请求都以相同的方式工作