Spring Framework,Spring Security - 可以在没有 Spring Framework 的情况下使用 Spring Security?
Posted
技术标签:
【中文标题】Spring Framework,Spring Security - 可以在没有 Spring Framework 的情况下使用 Spring Security?【英文标题】:Spring Framework, Spring Security - possible to use Spring Security without Spring Framework? 【发布时间】:2011-09-16 04:18:56 【问题描述】:我已经多次使用 Spring Framework 3.0.5 和 Spring Security 3.0.5。我知道 Spring Framework 使用 DI 和 AOP。我也知道 Spring Security 使用 DI,例如在编写自定义处理程序或过滤器时。我不确定 Spring Security 是否也使用 AOP - 所以我的第一个问题是:是吗?
好吧,我也想知道 Spring Security 如何用于非基于 Spring 的应用程序。它在他们的文档中写道这是可能的。好吧,我想知道它是如何使用 DI 的,那么它应该如何在简单的 java web 应用程序中工作呢?我想至少需要一个支持依赖注入的 Web 容器,对吗? (可能是哪一个?)
感谢您的回答:-)
[编辑] 文档说:
”文档说:“Spring Security 为基于 J2EE 的企业软件应用程序提供全面的安全服务。特别强调支持使用 Spring Framework 构建的项目,这是用于企业软件开发的领先 J2EE 解决方案。如果您不使用 Spring 来开发企业应用程序,我们强烈建议您仔细研究一下。对 Spring 的一些熟悉——尤其是依赖注入原则——将帮助您更轻松地熟悉 Spring Security。""
基于j2ee的企业软件应用程序.........强调支持使用spring框架的项目......这意味着它应该可以在没有Spring框架本身的情况下使用它! ?
与:
即使我们使用 Spring 来配置 Spring Seurity,您的应用程序也不必是基于 Spring 的。例如,许多人将 Spring Security 与诸如 Struts 之类的 Web 框架一起使用。
这是来自 Spring Security 主页。嗯……
【问题讨论】:
你问'那么它应该如何在一个简单的 java 应用程序中工作?',你的意思是一个简单的 web 应用程序?如果不是,那么您不应该使用 Spring Security 作为其 Web 安全框架。所以是的,您至少需要一个符合 servlet 规范的容器。 是的,当然我的意思是简单的 java WEB 应用程序,抱歉 ;-) 当然我需要一个 servlet 容器——当然。但它确实必须支持依赖注入,不是吗? 有不支持 DI 的容器?不,您不需要 j2ee 容器。我目前正在将它与tomcat一起使用。同样是的,您不需要基于弹簧(例如弹簧 MVC),但您仍然需要定义一些不会使您基于弹簧的 bean(很可能):) 我目前也在使用 Struts + Spring 安全性,这个特定项目不是基于 spring 的(它的 struts + ejb3),spring 仅用于安全相关的 bean。 至少你只需要一个 servlet 容器和 spring 依赖项。其他技术未强制执行。 【参考方案1】:它使用 AOP 吗?
是的 spring-security 使用 AOP 作为其method security(您必须搜索页面才能找到它)。
你可以在没有 spring 的情况下使用 spring-security 吗?
一般不会。
因为您需要为多个 spring-security 元素定义 spring bean。
但是!据我所知,您可以在没有弹簧的情况下使用Acegi security。这应该可以为您提供接近相同的功能。
您能否保护非 J2EE 应用程序
肯定的。
任何可以在 servlet 容器中运行的东西都可以使用 spring-security 进行保护。你只需要 Spring 的 IoC/DI。
This 的答案可以帮助您解决最小的 spring-security 依赖项。
【讨论】:
感谢您的回答。请看看我在我的帖子中所做的更改。他们说它用于保护基于 j2ee 的企业软件应用程序......这意味着它不仅适用于 spring 框架...... @nano7 如果您担心使用 j2ee 容器,不,您不需要它,您只需要一个 servlet 容器,我目前在 Tomcat 中使用它,没有任何 j2ee 堆栈相关技术。 这让我很困惑。为什么文档然后说spring security是用于“保护j2ee应用程序”?它们可以但不能基于弹簧。呜呜呜。 @nano7 是的,它们可以是基于弹簧的,但不是强制性的。以上是关于Spring Framework,Spring Security - 可以在没有 Spring Framework 的情况下使用 Spring Security?的主要内容,如果未能解决你的问题,请参考以下文章
spring framework Annotation(注解)