创建帐户、忘记密码和更改密码

问题描述 投票:0回答:2

当开发人员想要保护其 Web 应用程序时,Spring Security 非常有用。

但是,创建帐户呢?和“忘记密码”?大多数登录页面都有这些链接以及用户名和密码字段。 Spring的默认登录页面没有这些链接...在好的情况下,它可以支持“记住我”...

Spring 支持创建帐户、忘记密码和更改密码这些流程吗? 如果答案是肯定的,您能给我一些文档吗?

我已经搜索过这个问题,但找不到任何东西。

谢谢!

spring authentication registration forgot-password change-password
2个回答
15
投票

你是完全正确的。 AFAIK 没有实现这些流程的“通用”包。我前段时间搜索了很多此类代码,但一无所获。我认为 @luizcarlosfx 是对的,每个应用程序都有自己的需求,因此很难编写适合所有需求的通用内容。


编辑: 我看到诸如“实施起来并不难”之类的评论。真的。但你必须确保处理好所有情况。例如,如果用户尝试创建已存在的帐户,会发生什么情况?如果用户尝试创建已存在但不活动的帐户,会发生什么?密码策略怎么样? (太长/太短/多少大写字母等)向用户发送带有激活链接的电子邮件怎么样?你如何创建这个链接?你如何加密它?接收链接点击并激活帐户的控制器怎么样?还有越来越多...


然而

,我向前迈出了一步,尝试编写一些能够满足大多数流程的代码 - 注册、忘记密码、更改密码等,以及足够安全的代码,以便应用程序能够毫无恐惧地使用它它很容易被黑客攻击。

我已经为此用例实现了一个JAVA项目

。它是开源的,基于 Spring-Security。发布版本位于 Maven-Central 上,因此您无需编译它,而是可以将其作为项目的 maven 依赖项获取! <dependency> <groupId>com.ohadr</groupId> <artifactId>authentication-flows</artifactId> <version>1.5.0-RELEASE</version> </dependency>

我认为它回答了你的问题...

一切都有解释(如果缺少某些内容 - 请告诉我......)

您可以

在此处找到

客户端应用程序代码的示例(即用法)。 这是

项目的主页

以及演示。 这是一个使用身份验证流程的客户端网络应用程序,带有包含所有解释的自述文件。 希望有帮助!


0
投票
appfuse

是一个满足您需求的工具。这几行来自它的文档:

AppFuse 开箱即用,具有许多应用程序所需的功能,包括:

认证与授权
  • 用户管理
  • 记住我(它会保存您的登录信息,这样您就不会 每次都必须登录)
  • 密码提醒
  • 注册并注册
  • SSL 切换
  • 电子邮件
  • 无扩展名 URL 文件上传
  • 通用 CRUD 后端
  • 完整的 Eclipse、IDEA 和 NetBeans 支持
  • 使用 Maven Jetty 插件快速启动且无需部署
  • 可使用 Cargo 和配置文件在多个应用程序服务器和数据库上进行测试
© www.soinside.com 2019 - 2024. All rights reserved.