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

时间:2019-02-26 13:14:11

标签: spring-mvc jhipster

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

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

1 个答案:

答案 0 :(得分:0)

这是我的同事调查的:

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

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

服务器:       Servlet:           会议:               曲奇饼:                   仅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
}