我有一个战争项目,在Wildfly上部署了JAX-RS接口,并且配置了一个安全域,它从数据库加载用户密码和角色。安全域使用cache-type = default。安全域无法识别已认证用户的更新,因为旧数据已被缓存。我用jboss-cli.sh验证了这一点。那么如何从缓存中删除特定的用户呢?我想在部署的应用程序中执行此操作,而不是通过jboss-cli.sh。安全域蜻蜓冲刷缓存
2
A
回答
4
您的问题可能与WildFly中的一个错误有关:https://issues.jboss.org/browse/WFLY-3221。
有一种变通方法,以明确刷新验证缓存:
@WebListener
public class SessionInvalidationListener implements HttpSessionListener {
@Inject
private Principal principal;
@Resource(name = "java:jboss/jaas/mydomain/authenticationMgr")
private CacheableManager<?, Principal> authenticationManager;
@Override
public void sessionCreated(HttpSessionEvent se) {
// not used
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
authenticationManager.flushCache(principal);
}
}
我在一个稍微不同的用例测试这种方法。有趣的是访问authenticationManager
- 应该很容易适应你的情况。
这个bug应该在WildFly 9.x中修复(我没有检查)。
0
在Wildfly 10使用域模式下,你可以通过使用JBoss-CLI以下方式很容易清除安全域缓存:
首先连接到域控制器通过使用
./jboss-cli.sh --connect controller={domainhost}:9990 --user={username} --password={password}
然后执行命令
/host={hostname}/server={instancename}/subsystem=security/security-domain={securityname}:flush-cache
如果安全域的定义是这样的:
<security-domain name="ldap-test" cache-type="default">
命令看起来就像这样:
/host=wf-server-1/server=instance-1/subsystem=security/security-domain=ldap-test:flush-cache
类似的解决方案应进行单机模式下工作。
0
如果您从安全域中删除属性“cache-type = default”,则不会使用缓存。 另请参见:https://docs.jboss.org/author/display/WFLY8/Security+subsystem+configuration
相关问题
- 1. 蜻蜓缓存位置
- 2. 忽略蜻蜓安全约束
- 3. 蜻蜓域模式调试
- 4. 蜻蜓安全域无法正常工作
- 5. 蜻蜓问题
- 6. 使用全球化的蜻蜓
- 7. 蜻蜓虫领事
- 8. Maven蜻蜓错误
- 9. 蜻蜓10.1 MySQL驱动程序在域模式下安装
- 10. 蜻蜓 - 如何在Windows上安装域模式
- 11. 蜻蜓8.2.0调用安全的远程ejb
- 12. 蜻蜓8:ejb远程代理线程安全吗?
- 13. 蜻蜓上飞大拇指,服务器端缓存?
- 14. 用蜻蜓保存TinyMCE Base64图像
- 15. Ruby on Rails的蜻蜓
- 16. Jboss蜻蜓resteasy升级
- 17. 使用DataSource配置蜻蜓
- 18. 蜻蜓JNDI查找AuthenticationManager
- 19. 蜻蜓添加图像Model.save
- 20. 跟踪到Opera蜻蜓
- 21. 蜻蜓热部署太慢
- 22. HTTPS重定向蜻蜓Undertow
- 23. Opera的蜻蜓生成xpath
- 24. 蜻蜓和短网址
- 25. 蜻蜓:许多开放库
- 26. 蜻蜓群集和Apache2
- 27. 安全缓存 - ASP.net的刷新模式
- 28. 中断安全缓冲区
- 29. 蜻蜓8部署错误(或)org.jboss.weld.context.ContextNotActiveException
- 30. 在蜻蜓上获取JMS队列ObjectName
您正在使用哪个版本的WildFly? –
它是蜻蜓8.2.0.final – Helmosch