繁体   English   中英

问题:@SessionScope是否可以在JHipster API Gateway Java应用程序中工作?

[英]Question: does @SessionScope work in JHipster API Gateway Java application?

我们有一个基于JHipster的API网关应用程序,该应用程序当前将JJWT用于..为了安全起见,我什至不知道如何正确命名。

我们遇到了一个问题,即当用户请求针对第三方的某些操作时,我们需要对其进行身份验证。 因此,想法是使用@SessionScope -d bean将用户凭据保留在第三方中。 它会起作用吗? 我对JWT据说是无国籍的感到困惑。社区应该提出什么方法? 谢谢

我的同事对此进行了调查:

为了支持我们的网关(UI-后端)的@SessionScope批注功能,我们首先应该调整一些配置:

  1. 在application.yml中,我们应该将http-only会话参数更改为false:

服务器:servlet:会话:cookie:仅HTTP:false

  1. 然后,我们应该配置会话超时,以使其与我们的JWT令牌生存期相关联:

服务器:servlet:会话:超时:86400

  1. 最后,我们应该配置会话创建策略。 这可以在SecurityConfiguration.java完成:

@Override public void configure(HttpSecurity http)引发异常{http.sessionCreationPolicy(SessionCreationPolicy.ALWAYS); }

从这一点开始,我们将有一个会话,该会话将为每个经过身份验证的用户存储Spring Secuirty上下文,但是它将永远不会用于身份验证机制,因为我们已经为此目的使用了JWT。 我们仅将会话用于存储自定义数据。

配置完成后,我们现在可以为会话范围创建自定义bean: CustomSessionScopeBean.java

@Component
@SessionScope
public class CustomSessionScopeBean{
    @Getter
    @Setter
    ///What ever you want to store in session scope
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM