2010-02-11 96 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。