我有一個戰爭項目,在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