2015-04-04 51 views
0

我正在开发一个eclipse上的jsp动态web项目。最好的网络登录方法

我想创建一个具有登录功能的网站。我打算将用户的帐户和密码存储在MySQL数据库中。当然,不同的用户有不同的角色和权限来访问不同的网页。实施它的最佳方法是什么?

到目前为止,我知道这些方法:

1)用户login.jsp中输入账号/密码。然后LoginServlet连接到MySQL数据库以检查它是否正确。 AuthenticationFilters将确保只有拥有权限的用户才能访问某些页面。

2)通过在web.xml中声明用户角色来使用基于角色的身份验证。我发现这种方法不灵活,因为我需要事先声明角色。

3)使用HttpServletRequest的登录/注销方法。我没有研究过它。

我的理解是否正确?有人能给我一些建议吗?一些线索会非常有帮助!

此外,我知道使用POST单独发送密码是不够安全的。许多网站建议使用HTTPS连接。所以如果使用HTTPS连接,它会影响我选择实现登录功能的方法吗?

谢谢!

-

现在,我知道我需要使用Spring。但是,春天似乎对我来说很难......在春季网站上,我找不到下载jar文件的链接。用户指南说我需要使用Gradle或Maven,这是我以前没有用过的,也不知道为什么我需要它们。此外,还有许多Spring项目。我应该选择哪一个? Spring框架?

-

回答

1

您是否看过使用Spring Security?它就是为此而设计的。你不需要熟悉Spring,但它可能会有所帮助。 这里有几个使用数据库认证教程:
1:Spring Security Authentication and Authorization Example with Database Credentials
2:Spring Security Login Example with Database

编辑:
您不必Maven的或摇篮。您可以简单地将罐子添加到您的构建路径,他们将工作。您需要实现登录才能工作的唯一项目是Spring Framework和Spring Security。

要使用Spring Security没有Maven的或摇篮:
下载Spring Framework罐子,并解压它们,并将它们添加到您的项目和构建路径。使用Spring找到一个Hello World教程让你入门可能是一个好主意。快速谷歌搜索应该会产生很多结果。

在您的项目中实现了Spring之后,下载Spring Security jar包,将它们解压缩并添加到您的构建路径中。我之前发布的教程链接将帮助您入门。他们可能需要一段时间才能完成,你可能并不完全了解幕后发生的事情,但一旦你建立起来,它就是杰出的作品。我也不确定你是否使用XML配置或Java配置,但我相信这些教程是为XML。

Spring Security的构建使它可以添加到任何项目中,并在15分钟内启动并运行基本配置。在您进行基本登录(它将使用通用登录表单)之后,您可以搜索如何实现自己的自定义登录表单,向用户添加权限或限制,以及添加自定义过滤器等。我鼓励您花一些时间学习它,因为它非常灵活和可定制。

+0

非常感谢! – cht 2015-04-06 04:46:26

+0

我发布了与此相关的另一个问题。 (http://stackoverflow.com/questions/29470880/spring-framework-and-spring-security-tutorials-version-4-x-x) – cht 2015-04-06 12:05:01