2010-02-11 117 views
5

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

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

+0

当您说Java EE时,您是指特定于EJB的安全性吗? – 2010-02-11 13:55:32

+0

是的主要安全目标是EJB,但框架还应该能够保护servlet或Web服务。 – deamon 2010-02-11 14:12:24

回答

1

如果Java EE安全模型和Spring Security都不符合您的需求,那么恐怕您将不得不推出自己的定制解决方案 - 可能是定制JAAS LoginModule - 因为您不会找到任何等效的据我所知,至少在开源世界中是这样)。但请注意,JAAS并不是一个真正令人愉快的API,这不是一件容易的事。在Further Information about Security中有关此主题的更多资源(请参阅页面底部)。

0

您是否试过Seam Security?如果我没有记错,它支持ACL。