Pau*_*llo 3 security viewstate session jsf jsf-2.2
我的第一个JSF页面正在抛出javax.faces.application.ViewExpiredException
.当我搜索时,我得到了解决我问题的解决方案.
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
但我担心安全隐患.
这根本不会在客户端保存"会话".
这只保存客户端的JSF视图状态.这是在JSF 2.2中始终使用在应用程序启动时生成的密钥进行AES加密.但是,一旦重新启动应用程序,此操作就会失效,从而导致所有现有视图状态变为无效.您可以指定固定密钥,如下所示,web.xml
以便所有现有视图状态在服务器重新启动时保持有效:
<env-entry>
<env-entry-name>jsf/ClientSideSecretKey</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>[AES key in Base64 format]</env-entry-value>
</env-entry>
Run Code Online (Sandbox Code Playgroud)
您可以使用此页面生成Base64格式的随机AES密钥.
归档时间: |
|
查看次数: |
1996 次 |
最近记录: |