Spring框架,Spring安全 - 是否可以在没有Spring框架的情况下使用Spring安全?

4
我已经使用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构建的项目,而Spring Framework是企业软件开发的领先J2EE解决方案。如果您没有使用Spring来开发企业应用程序,我们衷心鼓励您仔细查看它。熟悉Spring - 特别是依赖注入原理 - 将有助于您更轻松地掌握Spring Security。”
基于J2EE的企业软件应用程序......强调支持使用Spring Framework构建的项目......这意味着可以在没有Spring Framework本身的情况下使用它!
并且:
尽管我们使用Spring来配置Spring Security,但您的应用程序不必基于Spring。许多人将Spring Security与Web框架(例如Struts)一起使用。
这是从Spring Security主页中得到的信息。

是的,当然我指的是简单的Java WEB应用程序,抱歉;-)当然,我需要一个Servlet容器 - 当然。但它确实必须支持依赖注入,不是吗? - nano7
有一些容器不支持 DI 吗?不需要 J2EE 容器。我目前正在使用 Tomcat。同时,您不需要基于 Spring(例如 Spring MVC),但仍然需要定义一些 bean(很可能),这将不使您基于 Spring :) - Simeon
我目前也在使用Struts + Spring安全框架,但这个特定项目不是基于Spring的(它是基于Struts + EJB3),Spring只用于安全相关的bean。 - Simeon
最少只需要一个Servlet容器和Spring依赖,其他技术不是必须的。 - Simeon
好的。那么Spring Security可以在没有Spring Framework的情况下使用吗?你所说的Spring依赖是什么意思?Spring核心库吗? :) 感谢您的回答。也许您应该更新一下您的第一个答案,因为我理解通常情况下不能在没有Spring的情况下使用Spring Security... - nano7
显示剩余7条评论
1个回答

3

它使用AOP吗?

是的,Spring Security在其 方法安全中使用AOP(您需要搜索页面才能找到)。

你可以不使用Spring,只使用spring-security吗?

通常情况下不行。

因为你需要为多个Spring Security元素定义Spring beans。

但是! 据我所知,你可以使用Acegi Security而不使用Spring。这应该提供接近于相同的功能。

你可以保护一个非J2EE应用程序吗?

当然可以。

任何可以在servlet容器中运行的东西都可以使用Spring Security进行安全保护。您只需要Spring的IoC / DI。

此答案可以帮助您了解最少的Spring Security依赖项。


谢谢你的回答。请看一下我在帖子中所做的更改。它们说它被用于保护基于J2EE的企业软件应用程序... 这意味着它不仅适用于Spring框架... - nano7
@nano7 如果你担心使用j2ee容器,不用担心,你只需要一个servlet容器就可以了。我目前在Tomcat中使用它,没有任何与j2ee堆栈相关的技术。 - Simeon
这现在完全让我困惑了。为什么文档会说,Spring Security是用于“保护J2EE应用程序”的呢?它们可以但不一定要基于Spring。唉。 - nano7
@nano7 是的,确切地说,它们可以基于Spring,但这并非强制要求。 - Simeon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接