这是一个非常简单的问题,可能是被问得最多的一个问题,并且经常作为任何web应用程序的一部分开发。假设我正计划构建一个web应用程序,其中一些功能要求包括(除了通常的重击安全要求之外)-需要让用户注册新的帐户配置文件-使用本地应用程序身份验证对用户进行身份验证/ Facebook或谷歌或雅虎或OpenId登录-允许丢失密码检索-会话处理需求
是否有开箱即用的框架(Drupal、Liferay、Tapestry with Tynamo、Wicket?)我可以用它来包装我的应用程序,它可以是一堆JSP或HTML和JS?我知道我问的是一个非常简单甚至是天真的问题。但这是每个web开发者大师都会经历的话题。任何帮助,建议和指点非常感谢。
发布于 2011-01-17 02:52:13
我建议你看看Apache Shiro:http://shiro.apache.org/
它处理应用程序的安全部分,并在如何保护事物方面为您提供了极大的灵活性。例如,您可以添加注释来保护单个方法(例如:除非您是管理员,否则无法运行此方法)、单个页面(例如:除非您是管理员,否则无法加载此页面)和URL模式(您必须是管理员才能访问url中包含/ admin /*的任何内容)。
给出它对安全权限的复杂程度,Shiro非常容易使用。最初可能只需要一点时间就能理解一些概念,但Shiro在隐藏尽可能多的复杂性方面做得非常好。此外,用户列表响应速度非常快,非常有帮助。
如果你使用Tapestry,你可以看看http://tynamo.org/tapestry-security+guide,它使得在Tapestry应用程序中启动和运行Shiro变得非常容易,并为你提供了一些在模板中使用的简单标签。
Shiro不会为你提供开箱即用的OpenID、OAuth或Facebook集成,但你很有可能需要为你的应用程序定制这一部分。我相信有一些工作正在做,以帮助将功能集成到框架中,这些功能将有助于支持这些类型的身份验证。
一些建立在Shiro之上的框架可能会提供更多你想要的东西。例如,http://tynamo.org/tynamo-federatedaccounts+guide将为tapestry应用程序中的联合登录提供更多支持。它仍然处于早期阶段,但如果您正在使用Tapestry,那么它可能会发挥作用。即使它不能完全满足您的需求,它也可能提供一些很好的示例供您参考。
您还可能对以下内容感兴趣:http://static.springsource.org/spring-security/site/
作为附注:除了安全性之外,在一个典型的web项目中,您可能还需要一堆其他技术。你可能需要安全性,持久性,基本的用户管理,等等。如果你创建了许多web应用程序,创建一个maven原型可能是值得的,它可以让你快速启动和运行一个新的基本应用程序,这样你就可以开始编码所有已经就位的初始结构。AppFuse试图做到这一点,但当涉及到web框架时,它的目标更多是让你有许多不同的选择。如果你知道你要使用什么技术,拥有一个为你的需求定制的启动应用程序可以节省大量的时间。
发布于 2011-01-17 03:10:54
我会看看Apache Shiro或Spring Security。
https://stackoverflow.com/questions/4706995
复制相似问题