当前的 grails (2.x) 有一种非常奇怪的设计方法来设置会话超时。没有一个流行的想法是伟大的:
注释掉 WebxmlGrails 插件中的“//session Timeout”部分,并将“sessionConfig.sessionTimeout=”添加到 Config.groovy
grails install-templates,从 web.xml 中删除 session-timeout,在 WebXmlConfig.groovy 中添加超时
等待修复。:/
一位同事提出了以下对我来说效果很好的代码,并且在将真正的解决方案内置到 grails 核心之前,它将一直这样做。
只需将以下内容添加到 config.groovy 文件的底部,然后设置适当的超时。
grails.war.resources = { stagingDir, args ->
def webXML = new java.io.File("${stagingDir}/WEB-INF/web.xml")
webXML.text = webXML.text.replaceFirst("<session-timeout>30</session-timeout>", "<session-timeout>90</session-timeout>")
}
我建议正确的解决方案是在 Config.groovy 文件中允许一行:
session.timeout = 90;
干杯。