哪个是acegi,jsecurity和Stark安全中最好的安全解决方案?

有帮助吗?

解决方案

JSecurity 实际上成为名为 Apache Ki 前一段时间他们因为某些原因对名称更改感到不满意并将其更改为 Apache Shiro 。另外 Stark 只是 Spring Security 和acegi是Spring Security项目的起源。

那么使用哪一个?

首先,Spring Security是一个成熟的安全API,已经广泛使用,因此从稳定性,支持性和特别是安全性的角度来看,它是一个不错的选择。不幸的是,Shiro在这方面有所失落,因为据我所知,它仍然缺乏广泛采用。

其次,他们的安全框架实际行为非常重要,它必须能够让您做自己喜欢的保护应用程序的方案。例如,虽然有些人喜欢Shiro的工作方式( 参见本教程,特别是标题下的部分“Quickstart.java”)如果没有Spring Security的Spring-esque等等,其他人就无法生存。基本上你需要尝试两者,并从可用性的角度来确定它们是否符合你的需求。

第三,请确保实际的安全性! Spring安全可以保证是安全的,Shiro很可能安全,因为没有广泛的采用容易隐藏安全问题,例如参见 Firefox漏洞,了解用户群从长远来看如何开始影响应用程序的实际安全性。

为了结束这个,如果我必须为你选择,我会选择Spring Security,因为它被广泛使用,它保证是安全的并且已经与Grails集成。 JSecurity / Ki / Shiro一点也不坏,我已经使用了一段时间,但目前它处于某种状态,因为谁知道是什么原因以及安全框架是不可接受的。

编辑:已超过1½自从我回答这个问题以来,我觉得有必要回过头来说我们公司最近决定采用Spring Security,因为它具有高插拔性和经过验证的功能。这当然让我有点偏颇,但无论如何,我会说Spring Security是要走的路。

其他提示

Esko的回答很棒且很有竞争力。我在一个月前对不同的框架进行了评估,并选择了Shiro作为底层安全框架,尽管之前有过Spring Security的经验。我需要一个能够创建复杂授权要求的解决方案。 JSecurity的模型非常简单,但非常强大。

最终让我信服的是 Nimble 插件,这是一个顶层的UI层四郎它允许您管理用户,角色,组,自助服务帐户创建,电子邮件等...并且易于集成到您的应用程序中。不必编写所有代码对我来说是一个巨大的胜利。它还允许与OpenId,Facebook和其他人集成。

如果Nimble为SpringSecurity工作,我可能会选择它,但我认为这对我来说是一个巨大的胜利。

我使用了两种框架,并且喜欢Shiro的工作方式,与Spring的方法相比。我不知道为什么Spring Security如此受欢迎。与Shiro不同,只要需要配置,Spring Security就会在整个应用程序中运行。安全性不是大多数应用程序的交叉问题吗?如果是这样,那么它不是“更干净的代码”吗?将它隔离到一个位置?我的两分钱。

谢谢大家的回复。我实际上在grails应用程序上尝试了spring security。 grails插件使其易于使用。

问候。

约什

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top