java - 登录后在REST中提取JSESSIONID

标签 java rest resteasy wildfly-8 jsessionid

我正在开发允许用户创建工作区的系统。创建工作区后,用户可以通过提供用户名、密码和工作区登录。 我需要登录后生成的 jsessionid 来创建工作区和 jsessionid 之间的连接。

登录通过 REST。

    @POST
    @Path("login")
    @Produces(ContentType.APPLICATION_JSON_CHARSET_UTF_8)
    public JsonObject login(LoginCredentials loginCredentials) throws UnAuthorizedException {
        //login logic
    }

我还有实现 ContainerResponseFilter、WriterInterceptor 的拦截器。

@Override
    public void filter(ContainerRequestContext requestContext, ContainerResponseContext context)throws IOException {
        //...
    }

我如何获得生成的 jsessionid(我在响应 header 中看到的)?

最佳答案

如果您有一个 http 请求对象,您可以获取关联的 session 。获得 session 后,您可以获得其 ID

request.getSession(true).getId()

true 传递给 getSession 会导致创建一个新 session (如果 session 尚不存在)。

关于java - 登录后在REST中提取JSESSIONID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30074340/

相关文章:

java - 通过keycloak管理客户端在keycloak中创建用户返回IllegalArgumentException

java - Spring:使用 BadRequest 处理不明确的映射

java - 添加 GitLab 私有(private)仓库作为 Maven 依赖

java - 我的 Java 代码不断向文本文件添加重复项

node.js - 如何使用 Node Fetch 将来自 HTTP 请求的数据保存在变量中?

java - REST 服务返回错误的内容类型和解码

Java 9+ 无法获取方法局部变量的注解

angular - 如何在Spring Boot中通过Spring Rest Controller 发送音频?

json - 对 NGINX 服务器上托管的 Node.js Express 服务器的 cURL POST 请求返回 502 错误

java - NoMessageBodyWriterFoundFailure : Could not find MessageBodyWriter for response object of type