cas 單點登入問題
問題描述:
嚴重: Servlet.service() for servlet [cas] in context with path [/cas_server] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: Cannot create a session after the response has been committed] with root cause
java.lang.IllegalStateException: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:)
at org.apache.catalina.connector.Request.getSession(Request.java:)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:)
at org.springframework.webflow.context.servlet.HttpSessionMap.getMutex(HttpSessionMap.java:)
at org.springframework.webflow.core.collection.LocalSharedAttributeMap.getMutex(LocalSharedAttributeMap.java:)
at
解決方法
I assume that happens when there is no ‘service’ param and CAS tries to render a successful generic login page. Correct? If so, that is a side effect that is caused by ‘terminateWebSessionListener’ bean defined in cas-servlet.xml. You could a) disable one b) set the ‘timeToDieInSeconds’ property to a higher value to remedy this annoyance, like so:
<bean id="terminateWebSessionListener" class="org.jasig.cas.web.flow.TerminateWebSessionListener"
p:timeToDieInSeconds="10"/>