有没有一种方法可以在每次使用Java Controller方法时调用方法?

时间:2019-05-23 18:07:27

标签: java spring controller

我想每次调用控制器方法时都刷新JWT,而不必向每个单个控制器调用中添加方法。有没有可以覆盖的方法?

我正在使用Java API。

1 个答案:

答案 0 :(得分:0)

  

我想每次刷新JWT ...

除非您真的知道您将要做什么,否则应避免这种情况。

使用仅刷新令牌刷新您的JWT访问令牌。有关更多信息,请阅读this article和此question & answer (both)

如果主要关注的只是刷新令牌,则服务器不应直观地困扰这种机制。必须从客户端应用程序/服务器的客户端/ Web客户端/等发出此类请求。他们想刷新令牌

例如,如果JWT访问令牌具有10分钟的生命周期,而刷新令牌具有720小时的生命周期,则

  • 然后,客户端必须在到期时间之前静默调用刷新令牌请求。 (在这种情况下,每8-9分钟应该可以)
  • 否则,如果您不想每8到9分钟后拨打一次电话,因为用户可能没有积极使用,则可以编写一些拦截器,在进行HTTP呼叫之前检查令牌的到期时间(如果令牌是过期(或即将过期),那么他们应该先调用刷新令牌API,获取新令牌,然后继续正常的HTTP调用,所有这些都在客户端进行。

stackoverflow question对于角度框架(在客户端)做了类似的事情。

没关系。但是,我仍然想在服务器端这样做,有什么选择?

  1. 您可以将面向方面的编程模型用于此类工作,而且令人高兴的是,它在Spring Framework中可用。

    阅读此for basic idea重新开始。

  1. 使用HttpServlet的筛选器拦截器来处理请求/响应。

    阅读this nice article以获得一些想法。

希望它至少对学习有所帮助。 :)