WebLogic 12.2.1 中的最大 post 大小
Max post size in WebLogic 12.2.1
我对 WebLogic 12.2.1 有疑问,从版本 10.3.2 迁移到版本 12.2.1 后,我意识到我可以使用大于 4096 的 post 进行身份验证(这是一个新的WLO 12.1.2 中的约束,参考:https://docs.oracle.com/middleware/1212/wls/WLUPG/compat.htm#WLUPG473)
解决方案是在 weblogic.xml 中放置一个显式值,但这不受支持,我看不出有任何区别。
weblogic.xml:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "weblogic810-web-jar.dtd">
<weblogic-web-app>
<security-role-assignment>
<role-name>MYAPPAll</role-name>
<principal-name>ENT_MYAPP_Users</principal-name>
</security-role-assignment>
<reference-descriptor>
<resource-description>
<res-ref-name>DBAppDDXA</res-ref-name>
<jndi-name>
jdbc/DBAppDDXA
</jndi-name>
</resource-description>
<resource-description>
<res-ref-name>DBAppDD</res-ref-name>
<jndi-name>
jdbc/DBAppDD
</jndi-name>
</resource-description>
</reference-descriptor>
<session-descriptor>
<session-param>
<param-name>max-save-post-size</param-name>
<param-value>10240</param-value>
</session-param>
<session-param>
<param-name>timeout-secs</param-name>
<param-value>3600</param-value>
</session-param>
</session-descriptor>
<jsp-descriptor>
<jsp-param>
<param-name>pageCheckSeconds</param-name>
<param-value>0</param-value>
</jsp-param>
<jsp-param>
<param-name>precompile</param-name>
<param-value>false</param-value>
</jsp-param>
<jsp-param>
<param-name>workingDir</param-name>
<param-value>./jsp_precompile_dir/myAppVer2</param-value>
</jsp-param>
<jsp-param>
<param-name>encoding</param-name>
<param-value>ISO-8859-1</param-value>
</jsp-param>
<jsp-param>
<param-name>keepgenerated</param-name>
<param-value>true</param-value>
</jsp-param>
</jsp-descriptor>
<container-descriptor>
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
<prefer-web-inf-classes>false</prefer-web-inf-classes>
</container-descriptor>
<context-root>/myApp</context-root>
</weblogic-web-app>
我得到同样的错误:
<26 janv. 2017 12 h 18 WET>
<[ServletContext@227245410[app:src module:src path:null
spec-version:3.1]] Servlet failed with an IOException.
weblogic.servlet.internal.MaxPostSizeExceededException:
MaxSavePostSize [4096] exceeded ! at
weblogic.servlet.security.internal.FormSecurityModule.raiseException(FormSecurityModule.java:564)
at
weblogic.servlet.security.internal.FormSecurityModule.stuffSession(FormSecurityModule.java:544)
at
weblogic.servlet.security.internal.FormSecurityModule.sendLoginPage(FormSecurityModule.java:494)
at
weblogic.servlet.security.internal.FormSecurityModule.checkUserPerm(FormSecurityModule.java:213)
at
weblogic.servlet.security.internal.FormSecurityModule.checkAccess(FormSecurityModule.java:96)
Truncated. see log file for complete stacktrace
>
感谢您的帮助
编辑
max-save-post-size
不能定义为 session-param
而是以下方式:
<session-descriptor>
<max-save-post-size>10240</max-save-post-size>
</session-descriptor>
我对 WebLogic 12.2.1 有疑问,从版本 10.3.2 迁移到版本 12.2.1 后,我意识到我可以使用大于 4096 的 post 进行身份验证(这是一个新的WLO 12.1.2 中的约束,参考:https://docs.oracle.com/middleware/1212/wls/WLUPG/compat.htm#WLUPG473) 解决方案是在 weblogic.xml 中放置一个显式值,但这不受支持,我看不出有任何区别。
weblogic.xml:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "weblogic810-web-jar.dtd">
<weblogic-web-app>
<security-role-assignment>
<role-name>MYAPPAll</role-name>
<principal-name>ENT_MYAPP_Users</principal-name>
</security-role-assignment>
<reference-descriptor>
<resource-description>
<res-ref-name>DBAppDDXA</res-ref-name>
<jndi-name>
jdbc/DBAppDDXA
</jndi-name>
</resource-description>
<resource-description>
<res-ref-name>DBAppDD</res-ref-name>
<jndi-name>
jdbc/DBAppDD
</jndi-name>
</resource-description>
</reference-descriptor>
<session-descriptor>
<session-param>
<param-name>max-save-post-size</param-name>
<param-value>10240</param-value>
</session-param>
<session-param>
<param-name>timeout-secs</param-name>
<param-value>3600</param-value>
</session-param>
</session-descriptor>
<jsp-descriptor>
<jsp-param>
<param-name>pageCheckSeconds</param-name>
<param-value>0</param-value>
</jsp-param>
<jsp-param>
<param-name>precompile</param-name>
<param-value>false</param-value>
</jsp-param>
<jsp-param>
<param-name>workingDir</param-name>
<param-value>./jsp_precompile_dir/myAppVer2</param-value>
</jsp-param>
<jsp-param>
<param-name>encoding</param-name>
<param-value>ISO-8859-1</param-value>
</jsp-param>
<jsp-param>
<param-name>keepgenerated</param-name>
<param-value>true</param-value>
</jsp-param>
</jsp-descriptor>
<container-descriptor>
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
<prefer-web-inf-classes>false</prefer-web-inf-classes>
</container-descriptor>
<context-root>/myApp</context-root>
</weblogic-web-app>
我得到同样的错误:
<26 janv. 2017 12 h 18 WET> <[ServletContext@227245410[app:src module:src path:null spec-version:3.1]] Servlet failed with an IOException. weblogic.servlet.internal.MaxPostSizeExceededException: MaxSavePostSize [4096] exceeded ! at weblogic.servlet.security.internal.FormSecurityModule.raiseException(FormSecurityModule.java:564) at weblogic.servlet.security.internal.FormSecurityModule.stuffSession(FormSecurityModule.java:544) at weblogic.servlet.security.internal.FormSecurityModule.sendLoginPage(FormSecurityModule.java:494) at weblogic.servlet.security.internal.FormSecurityModule.checkUserPerm(FormSecurityModule.java:213) at weblogic.servlet.security.internal.FormSecurityModule.checkAccess(FormSecurityModule.java:96) Truncated. see log file for complete stacktrace >
感谢您的帮助
编辑
max-save-post-size
不能定义为 session-param
而是以下方式:
<session-descriptor>
<max-save-post-size>10240</max-save-post-size>
</session-descriptor>