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

Posted

技术标签:

【中文标题】像 Java EE 的 Spring Security 这样的框架?【英文标题】:Framework like Spring Security for Java EE? 【发布时间】:2011-01-15 17:36:25 【问题描述】:

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

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

【问题讨论】:

当您说 Java EE 时,您是指 EJB 特有的安全性吗? 是的,主要安全目标是 EJB,但该框架还应该能够保护 servlet 或 Web 服务。 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于像 Java EE 的 Spring Security 这样的框架?的主要内容,如果未能解决你的问题,请参考以下文章

关于 Java EE、Spring 和 Hibernate

java ee项目中 spring托管的事务应该怎么设置隔离级别

Spring - Java EE 用户在身份验证后仍然为空

Java EE - Servlet 3.0 和 Spring MVC

Java EE 学习:IDEA + maven + spring 搭建 web

转载开发者眼中的Spring与Java EE