当前位置: 首页 > 知识库问答 >
问题:

Spring Security中会话cookie的同站点标志

林富
2023-03-14

共有1个答案

吴腾
2023-03-14

新的Tomcat版本通过TomcatContextCustomizer支持SameSite Cookie。因此您应该只自定义tomcat CookieProcessor,例如,对于Spring Boot:

@Configuration
public class MvcConfiguration implements WebMvcConfigurer {
    @Bean
    public TomcatContextCustomizer sameSiteCookiesConfig() {
        return context -> {
            final Rfc6265CookieProcessor cookieProcessor = new Rfc6265CookieProcessor();
            cookieProcessor.setSameSiteCookies(SameSiteCookies.NONE.getValue());
            context.setCookieProcessor(cookieProcessor);
        };
    }
}

对于samesitecookies.none请注意,cookie也是secure(使用了SSL),否则将无法应用它们。

默认情况下,Chrome 80 Cookie被认为是samesite=lax

if ($scheme = http) {
    return 301 https://$http_host$request_uri;
}

proxy_cookie_path / "/; secure; SameSite=None";
 类似资料:
  • 问题内容: 如何使 connect.sid cookie本身仅是会话cookie,而不是持久性cookie? 我尝试失败 但是cookie仍具有到期时间戳。 问题答案: 以上工作。因此,通过将maxAge设置为null,我确实管理了expressjs以使用会话cookie。ew

  • 问题内容: 我几个月前开始使用PHP。为了为我的网站创建一个登录系统,我阅读了有关cookie和会话及其区别(cookie存储在用户的浏览器中以及服务器上的会话中)的信息。当时,我更喜欢cookie(谁不喜欢cookie ?!),只是说:“谁在乎?我在将它存储在服务器中没有任何好处”,所以,我继续使用cookie我的学士毕业项目。但是,在完成了我的应用程序的大部分工作之后,我听说对于存储用户ID的

  • 我正在创建一个Spring Boot网络应用程序,作为我的用户登录网站。在幕后,通过REST API,它使用OpenAM来验证凭证并创建会话令牌。我希望令牌将用于管理这个登录网站和我们为我们的用户提供的所有其他网站的会话(单点登录)。 我希望SpringBoot应用程序是无状态的。这使得部署更加容易。虽然站点应该是无状态的,但显然我们仍然在OpenAM中保持会话状态。 我正在努力解决如何配置Spr

  • 问题内容: http://www.javascriptkit.com/javatutors/cookie.shtml 另一方面,仅会话cookie将信息存储在浏览器内存中,并且在浏览器会话持续时间内可用。换句话说,从存储时间到关闭浏览器之前,都可以使用会话cookie中存储的数据。在此期间在页面之间移动不会删除数据。 如何使用Express.js做到这一点? 问题答案: 以下是我想要的(某种)。当

  • 问题内容: 有没有一种方法可以在PHP中启动持久性会话而无需放置会话cookie?是否还有其他方法可以跨页面维护会话,例如基于IP地址的解决方案? 我问的原因是,尽管大多数用户都启用了cookie,但我想看看是否有一种方法可以使禁用它的用户使用登录系统(即使我个人认为禁用cookie只是不必要的偏执狂)。 问题答案: 我认为要求您的用户启用Cookie并不过分。当人们完全关闭它们时,我觉得很愚蠢。

  • Cookie提供客户端数据存储,仅支持少量数据。 通常,每个域2KB,这取决于浏览器。 Session提供服务器端数据存储,它支持大量数据。 让我们来看看如何在FuelPHP Web应用程序中创建cookie和会话。 Cookies FuelPHP提供了一个Cookie类来创建cookie项目。 Cookie类用于创建,分配和删除cookie。 配置Cookie Cookie类可以通过位于fuel