java - 无法从 Spring-Jersey 中检索安全上下文

标签 java spring spring-security jersey

我试图在我的 spring-jersey bean 中检索安全上下文,但是我不断收到 Null 身份验证。当我从 Spring 应用程序中运行相同的命令时,它会正确检索当前登录的用户安全上下文。

spring-jersey 的配置需要为主 spring 应用程序创建一个单独的 servlet,因此 web.xml 有两个 servlet - 一个用于 spring 应用程序,第二个用于 jersey Rest api。

假设问题与此相关,我尝试将安全上下文共享模式设置为全局,但是我仍然无法从 Jersey 内获取上下文信息。

SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_GLOBAL)

任何有关此问题的帮助将不胜感激!

非常感谢, 奈杰尔

最佳答案

也许用户根本没有经过身份验证,因为您的 Jersey 请求没有 session cookie,因此不与经过身份验证的用户 session 关联?

您可以通过在 Spring Security 中启用匿名身份验证来检查它 - 如果猜测正确,您应该获得匿名身份验证而不是 null

关于java - 无法从 Spring-Jersey 中检索安全上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3779839/

相关文章:

java - Spring Security SAML,当使用 SAMLContextProviderLB 设置为 HTTPs 方案时重定向到 HTTP 而不是 HTTPS

spring-boot - 如何像 RestTemplate 一样从 WebClient 获取 accesstoken?

java - Spring 和 jackson : set json ignore dynamically

java - 最小二乘法 3D

java - 如何在 SQLite 数据库中验证和添加新用户?

java - 无法使用网关 UI 将数据保存到 JHipster 微服务中

java - Android Studio 的 Retrofit2 : Cant get the array of petrol-stations

java - 组织.postgresql.util.PSQLException : FATAL: database "pma-springbootdb"

java - 在 spring boot 应用程序中上传 1+ GB 文件时出现 "java.lang.OutOfMemoryError: Java heap space"

Spring Security 4 自定义登录 j_spring_security_check 返回 http 302