【发布时间】:2018-02-02 20:13:53
【问题描述】:
我正在 Spring Boot 中开发应用程序,我需要在那里进行 jwt 身份验证。我决定使用那个 github 项目,但是当我查看代码时,我不明白 SecurityContextHolder 的意义。
这里有 2 个类正在使用它:
AuthenticationRestController.java
JwtAuthenticationTokenFilter.java
您能告诉我 SecurityContextHolder 的用途是什么吗?我想要没有会话的无状态身份验证。所以我只需要生成 jwt 并在请求之前检查它。
这个 git 项目也有禁用会话:
...
httpSeccurity.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
...
我已经尝试使用 SecurityContextHolder 删除代码,并且应用程序仍然可以正常工作。
感谢您的回答。
【问题讨论】:
-
建议你看看官方的spring security jwt项目,
spring-security-jwt -
它不是只适用于 oauth2 吗?
-
哎呀,是的,你是对的,它不是自己的项目,哎呀。它是
spring-security-oauth2项目的一部分。有什么理由不想使用 oauth2?它是高度可定制的 -
我知道,但我只需要 jwt 令牌
标签: java spring spring-security jjwt