fix #2651 add sameSiteCookies

This commit is contained in:
Shinsuke Sugaya 2022-05-16 22:23:38 +09:00
parent 6f4c7da186
commit fbf36fd63e

View file

@ -21,11 +21,14 @@ import java.io.File;
import java.util.List;
import java.util.Properties;
import org.apache.catalina.Container;
import org.apache.catalina.Context;
import org.apache.catalina.Host;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.startup.Tomcat;
import org.apache.tomcat.util.http.CookieProcessorBase;
import org.apache.tomcat.util.http.Rfc6265CookieProcessor;
import org.apache.tomcat.util.net.SSLHostConfig;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.tomcat.valve.SuppressErrorReportValve;
@ -146,6 +149,7 @@ public class FessBoot extends TomcatBoot {
final Context context = (Context) server.getHost().findChild(contextPath);
if (context != null) {
context.setResources(new FessWebResourceRoot(context));
context.setCookieProcessor(new Rfc6265CookieProcessor());
}
}
@ -175,7 +179,14 @@ public class FessBoot extends TomcatBoot {
connector.addSslHostConfig(sslHostConfig);
}
});
doSetupServerConfig(logger, props, "sameSiteCookies", value -> {
for (final Container container : server.getHost().findChildren()) {
if ((container instanceof final Context context)
&& (context.getCookieProcessor() instanceof final CookieProcessorBase cookieProcessor)) {
cookieProcessor.setSameSiteCookies(value);
}
}
});
}
}
}