像Spring Security for Java EE这样的框架?

Spring Security提供了许多强大的安全机制,但它不适合Java EE(EJB)环境。 一个问题是Spring Security将SecurityContext存储在不适合群集的ThreadLocal对象中。 Spring Security依赖于Spring核心的服务(例如AOP),如果EJB容器管理对象,这些服务是不可用的。 Spring Security需要Spring核心来连接自己,因为Java EE已经有了dependency injection机制,所以我想避免这种情况。

是否有为Java EE量身定制的安全框架? 我想拥有ACL或更灵活的角色机制。

如果Java EE安全模型和Spring Security都不适合您的需求,那么我担心您将不得不推出自己的自定义解决方案 – 也许是自定义的JAAS LoginModule – 因为您找不到任何等效的(至少不是据我所知,开源世界)。 但请注意,JAAS并不是一个令人愉快的API,这不是一件容易的事。 有关安全性的更多信息中有关此主题的更多资源(请参阅页面底部)。

你试过Seam Security吗? 如果我没记错的话,它支持ACL。