Spring安全性使用X.509身份验证并定期更新授权用户详细信息

时间:2012-04-24 21:02:12

标签: spring spring-security authorization cxf x509

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

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

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

1 个答案:

答案 0 :(得分:2)

提交了与此请求类似的故障单:

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