Spring双会话管理的应用
我使用Spring双会话管理的应用,spring,spring-security,token,jsessionid,Spring,Spring Security,Token,Jsessionid,我使用@Controller应用程序来查看web视图,使用@RestController应用程序来查看api层 控制器层需要会话,使用带有JSESSIONID的cookie 至于api层,我已经创建了JWT令牌,并在为auth提供给定令牌之前使用了filterBefore SecurityContextHolder.getContext().setAuthentication(authenticationToken) 现在我有问题了: 令牌身份验证需要sessionCreationPolicy
@Controller
应用程序来查看web视图,使用@RestController
应用程序来查看api层
控制器层需要会话,使用带有JSESSIONID
的cookie
至于api层,我已经创建了JWT令牌,并在为auth提供给定令牌之前使用了filterBefore
SecurityContextHolder.getContext().setAuthentication(authenticationToken)代码>
现在我有问题了:
- 令牌身份验证需要sessionCreationPolicy(sessionCreationPolicy.STATELESS)
JSESSIONID
JSESSIONID
而不是token,所以如果我在Authorization
头中更改token(例如,使用另一个用户),它仍将使用先前授权用户的凭据
对于一组端点(例如:/api/**
),是否有能力使会话成为无状态的,并且在其他端点上始终是无状态的。
或者有没有可能让@Controller
使用基于令牌的身份验证
任何想法都可以使用JWT令牌。您可以同时使用JWT令牌。对于web视图,您可以将JWT令牌存储在cookie中,并从过滤器中的cookie中获取JWT令牌。如何从登录表单获取和附加令牌?成功登录后,您将JWT令牌存储在cookie中,并通过网页上的javascript从cookie中获取JWT,然后在过滤器中获取cookie。这是一个链接,您可以使用JWT令牌来实现这两个功能。对于web视图,您可以将JWT令牌存储在cookie中,并从过滤器中的cookie中获取JWT令牌。如何从登录表单获取和附加令牌?成功登录后,您将JWT令牌存储在cookie中,并通过网页上的javascript从cookie中获取JWT,然后在过滤器中获取cookie。这里是链接