最好的网络登录方法
The best web login approach
我正在 eclipse 上开发一个 jsp 动态 web 项目。
我想创建一个具有登录功能的网站。我打算将用户的帐户和密码存储在 MySQL 数据库中。当然,不同的用户有不同的角色和权限来访问不同的网页。实施它的最佳方法是什么?
到目前为止,我知道这些方法:
1) 用户在login.jsp中输入accounts/passwords。 LoginServlet 然后连接到 MySQL 数据库以检查它是否正确。 AuthenticationFilters 将确保只有具有权限的用户才能访问某些页面。
2) 通过在 web.xml 中声明用户角色来使用基于角色的身份验证。我觉得这种做法不灵活,因为我需要提前声明角色。
3) 使用 HttpServletRequest 的 login/logout 方法。没研究过
我的理解对吗?有人可以给我一些建议吗?一些线索会很有帮助!
此外,我知道单独使用POST发送密码不够安全。许多网站建议使用 HTTPS 连接。那么如果使用 HTTPS 连接,是否会影响我选择实现登录功能的方法?
谢谢!
--
现在,我知道我需要使用 Spring。但是 Spring 对我来说似乎很难...在 Spring 网站上我找不到 link 来下载 jar 文件。用户指南说我需要使用 Gradle 或 Maven,我以前没有使用过,也不知道为什么需要它们。此外,还有很多Spring个项目。我应该选择哪一个? Spring框架?
--
您是否考虑过使用 Spring 安全性?它就是为此而建的。您不需要熟悉 Spring 但它可能会有所帮助。
以下是一些使用数据库身份验证的教程:
1: Spring Security Authentication and Authorization Example with Database Credentials
2: Spring Security Login Example with Database
编辑:
您不必使用 Maven 或 Gradle。您只需将 jars 添加到您的构建路径,它们就会工作。您需要为登录工作实施的唯一项目是 Spring 框架和 Spring 安全性。
在没有 Maven 或 Gradle 的情况下使用 Spring 安全性:
下载 Spring Framework jar,解压缩它们,并将它们添加到您的项目和构建路径中。使用 Spring 找到一个 hello world 教程来帮助您入门可能是个好主意。快速 Google 搜索应该会找到很多结果。
在您的项目中实现 Spring 之后,下载 Spring Security jar,解压缩它们,并将它们添加到您的构建路径中。我之前发布的教程链接将帮助您入门。它们可能需要一些时间才能完成,而且您可能不完全了解幕后发生的事情,但是一旦您设置好它,它就会非常出色。我也不确定您使用的是 xml 配置还是 Java 配置,但我相信这些教程适用于 xml.
Spring 安全性的构建使其可以添加到任何项目并让您在大约 15 分钟内完成 运行 基本配置。完成基本登录后(它将使用通用登录表单),您可以搜索如何实现自己的自定义登录表单、为用户和 url 模式添加权限或限制、添加自定义过滤器等。我鼓励您花一些时间学习它,因为它非常灵活且可自定义。
我正在 eclipse 上开发一个 jsp 动态 web 项目。
我想创建一个具有登录功能的网站。我打算将用户的帐户和密码存储在 MySQL 数据库中。当然,不同的用户有不同的角色和权限来访问不同的网页。实施它的最佳方法是什么?
到目前为止,我知道这些方法:
1) 用户在login.jsp中输入accounts/passwords。 LoginServlet 然后连接到 MySQL 数据库以检查它是否正确。 AuthenticationFilters 将确保只有具有权限的用户才能访问某些页面。
2) 通过在 web.xml 中声明用户角色来使用基于角色的身份验证。我觉得这种做法不灵活,因为我需要提前声明角色。
3) 使用 HttpServletRequest 的 login/logout 方法。没研究过
我的理解对吗?有人可以给我一些建议吗?一些线索会很有帮助!
此外,我知道单独使用POST发送密码不够安全。许多网站建议使用 HTTPS 连接。那么如果使用 HTTPS 连接,是否会影响我选择实现登录功能的方法?
谢谢!
--
现在,我知道我需要使用 Spring。但是 Spring 对我来说似乎很难...在 Spring 网站上我找不到 link 来下载 jar 文件。用户指南说我需要使用 Gradle 或 Maven,我以前没有使用过,也不知道为什么需要它们。此外,还有很多Spring个项目。我应该选择哪一个? Spring框架?
--
您是否考虑过使用 Spring 安全性?它就是为此而建的。您不需要熟悉 Spring 但它可能会有所帮助。
以下是一些使用数据库身份验证的教程:
1: Spring Security Authentication and Authorization Example with Database Credentials
2: Spring Security Login Example with Database
编辑:
您不必使用 Maven 或 Gradle。您只需将 jars 添加到您的构建路径,它们就会工作。您需要为登录工作实施的唯一项目是 Spring 框架和 Spring 安全性。
在没有 Maven 或 Gradle 的情况下使用 Spring 安全性:
下载 Spring Framework jar,解压缩它们,并将它们添加到您的项目和构建路径中。使用 Spring 找到一个 hello world 教程来帮助您入门可能是个好主意。快速 Google 搜索应该会找到很多结果。
在您的项目中实现 Spring 之后,下载 Spring Security jar,解压缩它们,并将它们添加到您的构建路径中。我之前发布的教程链接将帮助您入门。它们可能需要一些时间才能完成,而且您可能不完全了解幕后发生的事情,但是一旦您设置好它,它就会非常出色。我也不确定您使用的是 xml 配置还是 Java 配置,但我相信这些教程适用于 xml.
Spring 安全性的构建使其可以添加到任何项目并让您在大约 15 分钟内完成 运行 基本配置。完成基本登录后(它将使用通用登录表单),您可以搜索如何实现自己的自定义登录表单、为用户和 url 模式添加权限或限制、添加自定义过滤器等。我鼓励您花一些时间学习它,因为它非常灵活且可自定义。