如何使用 Seedstack 使会话 cookie 安全?

How to make the session cookie secure with Seedstack?

我在 SeedStack 应用程序中使用 Web 会话,但需要通过 httpOnly 标志保护会话 cookie。

由于没有配置选项,我如何使用当前版本实现它?

目前无法配置 Undertow 使用的会话 cookie,但我添加了相关选项以使其在即将发布的版本(4 月底的 20.4)中成为可能。

目前,作为解决方法,您可以实施 ServletContainerInitializer 来手动配置会话 cookie:

public class MyServletContainerInitializer implements ServletContainerInitializer {
    @Override
    public void onStartup(Set<Class<?>> classes, ServletContext servletContext) {
        servletContext.getSessionCookieConfig().setHttpOnly(true);
    }

您的 class 必须在 META-INF/services/javax.servlet.ServletContainerInitializer 文件中注册:

org.myorg.myproject.MyServletContainerInitializer

请注意,您可以使用 Seed.baseConfiguration() 静态获取配置外观。这使得使用应用配置更改 cookie 选项成为可能。