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

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

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

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

解决方法:

提交了类似于此请求的票证:

> https://jira.springsource.org/browse/SEC-898

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

上一篇:如何在PHP中创建数字证书并导出到.p12文件?


下一篇:从python中的PKCS7信封中提取userCertificate