gpt4 book ai didi

java - 在 URL 中使用 JSESSIONID 时,会创建一个新 session

转载 作者:行者123 更新时间:2023-11-28 23:58:44 25 4
gpt4 key购买 nike

我提出以下要求:

http://qwerty.localhost:82/Server/chat/connect;8O8488WlWWgNzAkGCFYAZyj3Bn91CR=05493D28DDD97308D66DAAC3DD66EAC2

左右:

http://qwerty.localhost:82/Server/chat/connect/;8O8488WlWWgNzAkGCFYAZyj3Bn91CR=05493D28DDD97308D66DAAC3DD66EAC2

在这种情况下,session id (8O8488WlWWgNzAkGCFYAZyj3Bn91CR) 在 cookies 和 url 中都被传递了(所以为了安全森林是必要的,突然厨师不会被送达)。由于某种原因,正在创建一个新 session 。为什么会这样?做错了什么?可以 url 不是...

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">

<session-config>
<cookie-config>
<name>8O8488WlWWgNzAkGCFYAZyj3Bn91CR</name>
<http-only>true</http-only>
</cookie-config>
<tracking-mode>URL</tracking-mode>
<tracking-mode>COOKIE</tracking-mode>
</session-config>

</web-app>

最佳答案

如果总是为每个请求创建一个新 session ,则意味着客户端已禁用 cookie,并且 URL 重写无法正常工作。如果您对 URL 进行编码,容器将首先尝试使用 cookie 进行 session 管理,并且仅当 cookie 方法失败时才回退到 URL 重写。

试试这个方法:
HttpSession session = request.getSession(false);//传递“false”意味着该方法返回一个预先存在的 session ,如果没有与该客户端关联的 session 则返回null。

对于 URL 重写,使用 response.encodeURL()

关于java - 在 URL 中使用 JSESSIONID 时,会创建一个新 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48741868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com