使用JSF、Hibernate和Tomcat在web应用程序上进行授权和身份验证

使用JSF、Hibernate和Tomcat在web应用程序上进行授权和身份验证,hibernate,jsf,tomcat,authentication,authorization,Hibernate,Jsf,Tomcat,Authentication,Authorization,我正在使用Eclipse和ApacheTomcat用JavaEE、JSF、Hibernate和MySQL编程一个Web应用程序。我不使用Spring、EJB等 我有一个简单的登录页面。用户名和密码有两个输入,提交按钮将输入值传递给bean。如果用户条目与数据库中的记录匹配,则打开下一页。然而,这一过程缺乏安全性。如果用户输入下一页的URL,他/她可以轻松跳过登录过程,而无需任何安全措施 我知道我的应用程序需要身份验证和授权。我在谷歌上搜索这些条款已经三天了。我学到了很多东西,但我还没有找到一个使

我正在使用Eclipse和ApacheTomcat用JavaEE、JSF、Hibernate和MySQL编程一个Web应用程序。我不使用Spring、EJB等

我有一个简单的登录页面。用户名和密码有两个输入,提交按钮将输入值传递给bean。如果用户条目与数据库中的记录匹配,则打开下一页。然而,这一过程缺乏安全性。如果用户输入下一页的URL,他/她可以轻松跳过登录过程,而无需任何安全措施

我知道我的应用程序需要身份验证和授权。我在谷歌上搜索这些条款已经三天了。我学到了很多东西,但我还没有找到一个使用JSF、Hibernate和ApacheTomcat的应用程序的简单解决方案

有没有包含这种配置的简单示例?我不需要详细的管理。只是一个简单的身份验证(也可能是授权)

我真的很累,请帮帮我

编辑(1):

我选择“容器管理的身份验证”作为登录策略,并开发了一些代码。但是,我得到com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException。如果你能帮助我,我希望能找到解决办法。感谢所有反馈

编辑(2):


我意识到“容器管理的身份验证”有严格的规则,它限制了编码的自由。使用此解决方案,程序员无法根据应用程序的要求编写代码。正因为如此,我在我的应用程序中实现了Servlet过滤器解决方案,它很旧,但功能强大。如果你想尝试新的,ApacheShiro可能是一个选择。我建议看一下

的文章尝试使用Spring security,它将允许通过身份验证和授权来保护应用程序。将此作为一个起点。

您可以添加spring安全性,它提供了这些功能和更多功能。另一个简单的选项是您可以添加一个Servlet过滤器,该过滤器可以有逻辑来检查用户是否已登录每个URL,如果未登录,它可能会显示一个错误页面。使用过滤器可以实现这一点。看一看:@Jay-要在我的应用程序中添加身份验证,我必须使用spring framework吗?如果您的团队不具备spring/spring安全方面的技能,并且您没有太多时间,那么最简单的方法就是添加Servlet过滤器,如上所述。如果您有时间,即使您现有的应用程序不使用spring,您也可以只在现有应用程序上引入spring安全性。学习并不难。查看在线教程。我的应用程序中不使用Spring framework。但是,Spring安全性应用于包含Spring框架的应用程序,对吗?