|
|
|
@ -1,10 +1,13 @@
|
|
|
|
|
package com.tptj.demo.hg.format.action.provider; |
|
|
|
|
|
|
|
|
|
import com.fanruan.api.log.LogKit; |
|
|
|
|
import com.fr.invoke.Reflect; |
|
|
|
|
import com.fr.report.fun.FormatActionProvider; |
|
|
|
|
import com.fr.stable.fun.impl.AbstractSessionPrivilegeFilter; |
|
|
|
|
import com.fr.third.springframework.web.context.request.RequestContextHolder; |
|
|
|
|
import com.fr.third.springframework.web.context.request.ServletRequestAttributes; |
|
|
|
|
import com.fr.web.core.SessionPoolManager; |
|
|
|
|
import com.fr.web.core.reserve.FormatActionFactory; |
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
@ -24,10 +27,16 @@ public class DemoSessionFilter extends AbstractSessionPrivilegeFilter {
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public String encodeSessionID( String sessionID ){ |
|
|
|
|
LogKit.info("DemoSessionFilter#encodeSessionID Is Running!"); |
|
|
|
|
FormatActionProvider excel = FormatActionFactory.getReqProcessor("excel"); |
|
|
|
|
LogKit.info("FormatActionFactory.getReqProcessor(\"excel\") = {}",excel); |
|
|
|
|
while ( SessionPoolManager.hasSessionID(sessionID) ){ |
|
|
|
|
sessionID = Reflect.on(SessionPoolManager.class).call("randomSessionID").get(); |
|
|
|
|
} |
|
|
|
|
ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); |
|
|
|
|
if( null == attrs || null == attrs.getRequest() ){ |
|
|
|
|
return sessionID; |
|
|
|
|
} |
|
|
|
|
attrs.getRequest().setAttribute("sessionID",sessionID); |
|
|
|
|
return sessionID; |
|
|
|
|
} |
|
|
|
|