Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web应用程序-身份验证/登录框架_Java_Security_Authentication_Frameworks_Login - Fatal编程技术网

Java Web应用程序-身份验证/登录框架

Java Web应用程序-身份验证/登录框架,java,security,authentication,frameworks,login,Java,Security,Authentication,Frameworks,Login,这是一个非常简单的问题,可能是问得最多的问题,并且经常作为任何web应用程序的一部分开发。假设我正计划构建一个web应用程序,其中的一些功能需求包括(除了通常的严厉的安全要求), -需要让用户注册新的帐户配置文件 -使用本机应用程序身份验证/Facebook或Google或Yahoo或OpenId登录对用户进行身份验证 -允许丢失密码检索 -会话处理需求 是否有现成的框架(Drupal、Liferay、Tapestry with Tynamo、Wicket???)可以用来包装我的应用程序,这些应

这是一个非常简单的问题,可能是问得最多的问题,并且经常作为任何web应用程序的一部分开发。假设我正计划构建一个web应用程序,其中的一些功能需求包括(除了通常的严厉的安全要求), -需要让用户注册新的帐户配置文件 -使用本机应用程序身份验证/Facebook或Google或Yahoo或OpenId登录对用户进行身份验证 -允许丢失密码检索 -会话处理需求


是否有现成的框架(Drupal、Liferay、Tapestry with Tynamo、Wicket???)可以用来包装我的应用程序,这些应用程序可以是一堆JSP或HTML with JS?我知道我在问一个很简单的问题,也许是个幼稚的问题。但这是每个web开发专家都会讨论的话题。非常感谢您的帮助、建议和指点。

我建议您看看ApacheShiro:

它处理应用程序的安全部分,并在如何保护方面为您提供了很大的灵活性。例如,您可以添加注释以保护各个方法(例如:除非您是管理员,否则无法运行此方法)、各个页面(例如:除非您是管理员,否则无法加载此页面)和URL模式(您必须是管理员才能访问URL中包含/admin/*的任何内容)

考虑到担保权的复杂性,Shiro的使用非常简单。最初,你可能需要花一点时间来理解一些概念,但Shiro在尽可能多地隐藏复杂性方面做得非常好。此外,用户列表响应迅速,非常有用

如果您使用Tapestry,您可能会看到它使Shiro在Tapestry应用程序中启动和运行变得非常容易,并为您提供了一些易于使用的标记,以便在模板中使用

Shiro不会提供现成的OpenID、OAuth或Facebook集成,但很有可能您需要根据应用程序定制该部分。我相信正在进行一些工作,以帮助将有助于将这些类型的身份验证功能集成到框架中

一些基于Shiro的框架可能会提供更多您想要的东西。例如,它将为您提供对tapestry应用程序中的联合登录的更多支持。它仍处于早期阶段,但如果您使用Tapestry,它可能会起作用。即使它不能完全满足您的需要,它也可能提供一些好的示例

您可能还对以下方面感兴趣:


作为旁注:除了安全性之外,在一个典型的web项目中可能还需要一些其他技术。您可能需要安全性、持久性、基本用户管理等。如果您创建了许多web应用程序,那么创建一个maven原型可能是值得的,它可以让您快速启动并运行一个新的基本应用程序,这样您就可以开始使用所有初始结构进行编码。AppFuse试图做到这一点,但它的目标更多的是在web框架方面为您提供许多不同的选择。如果你知道你将要使用什么技术,那么拥有一个为你的需要定制的启动应用程序可以节省大量的时间。

我想看看ApacheShiro或Spring Security