4

我使用 Spring 和 Apache CXF 创建了一个 REST Web 服务应用程序。我使用 x.509 证书对用户进行身份验证,然后使用自定义授权服务来获取所有用户组和详细信息。我已经实现了一个自定义UserDetailsS​​ervice来提取用户信息并填充一个UserDetails对象。填充此对象的部分过程涉及对公司授权服务的请求。不幸的是,授权服务是一个专有系统,但至少它们提供了 Java API。除其他外,授权服务会返回用户所属的组列表。

我仍处于开发阶段,但到目前为止我的观察似乎表明UserDetailsS​​ervice在初始连接时被调用一次。然后每个请求使用一个缓存的授权对象。

所以我的问题和潜在问题是……公司政策规定,应用程序只允许在一段时间内缓存用户授权详细信息。那么,Spring 会在刷新之前将这些UserDetails对象缓存多久呢?而且,我怎样才能控制这个缓存时间以确保我遵守政策?

4

1 回答 1

2

提交了一张与此请求类似的票:

票证中的建议是创建自己的过滤器,而不是定期将 Authentication.setAuthenticated 属性设置为 false,从而强制查找用户。您可以通过设置较小的会话超时来实现相同的目的

于 2012-04-25T01:48:47.197 回答