ie浏览器可正常访问,谷歌浏览器登入后被要求重新登入the set-cookie had to have been set with “sameSite=None“

在这里插入图片描述
在这里插入图片描述
ie浏览器可正常访问是因为登入后jsessionid一致,谷歌浏览器每次请求新接口后jsessionid就被修改,所以被要求重新登入。

打jar包使用SpringBoot内置tomcat启动的处理方式:

参考:https://blog.csdn.net/aoshilang2249/article/details/107687791
在这里插入图片描述
修改完SameSite属性和secure属性后将tomcat设置为https访问即可。

applicayion.yml配置:

#使用自治SSL证书,将tomcat改为https访问(测试使用)
#cookie的secure属性属性设置为true
server:
    ssl:
        key-store: E:/keystore.p12
        key-alias: tomcat
        key-store-password: 123456
    servlet:
        session:
            cookie:
                secure: true

配置类:设置Cookie的SameSite为NONE:

@Configuration
public class TomcatConfiguration {

    @Bean
    public TomcatContextCustomizer sameSiteCookiesConfig() {
        return context -> {
            final Rfc6265CookieProcessor cookieProcessor = new Rfc6265CookieProcessor();
            // 设置Cookie的SameSite为NONE
            cookieProcessor.setSameSiteCookies(SameSiteCookies.NONE.getValue());
            context.setCookieProcessor(cookieProcessor);
        };
    }
}

ps:如果访问https接口时出现以下错误,直接将接口复制到浏览器地址栏打开即可。
在这里插入图片描述

打war包使用tomcat9.0.38启动的处理方式:

1、修改tomcat中的server.xml配置文件:

	<Connector port="443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="D:\apache-tomcat-9.0.38\conf\key\javaboy.p12"
               keystorePass="123456"/>	

2、在tomcat中的context.xml配置文件中添加如下配置:

	<CookieProcessor sameSiteCookies="None" />

3、tomcat启动,使用https port:443启动
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值