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

时间:2014-05-09 10:25:59

标签: spring authentication registration forgot-password change-password

当开发人员想要保护他的网络应用程序时,Spring Security非常棒。

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

Spring是否支持这些流程,创建帐户,忘记密码和更改密码? 如果答案是肯定的,你能指点我一些文件吗?

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

谢谢!

2 个答案:

答案 0 :(得分:14)

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


修改 我看到了像#34这样的评论;实施起来并不那么困难"。真正。但你必须确保你处理所有情况。例如,如果用户尝试创建已存在的帐户,会发生什么?如果用户尝试创建已存在但不活动的帐户,会发生什么?密码的政策怎么样? (太长/太短/多少资金等)如何向用户发送带有激活链接的电子邮件?你是如何创建这个链接的?你怎么加密它?那些将收到链接点击并激活帐户的控制器呢?而且越来越多......


然而,我向前迈了一步,尝试编写可以回答大部分流量的代码 - 注册,忘记密码,更改密码等,以及足够安全的内容,以便应用程序能够使用它而不必担心它会被轻易入侵。

我已为此用例实施了一个JAVA项目。它是开源的,基于Spring-Security。发布版本在Maven-Central上,因此您不需要编译它,而是可以将其作为maven依赖项提取到您的项目中!

<dependency>
    <groupId>com.ohadr</groupId>
    <artifactId>authentication-flows</artifactId>
    <version>1.5.0-RELEASE</version>
</dependency>

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

对所有事情都有解释(如果缺少某些东西 - 请告诉我......)

您可以find here示例了解客户端应用程序的代码(即使用情况)。

这是main page of the project加上一个演示版和another demo is here(但这是一个应用程序,在升级到1.6.1之后需要使用带有&#34; nice&#34;域名的电子邮件登录 - nice.com。所以你不能真正用它来演示;使用第一个例子)。 这是一个使用auth-flow的客户端Web应用程序,README包含所有解释。

希望有所帮助!

答案 1 :(得分:0)

我认为appfuse是您想要的工具。这行来自它的文档:

  

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

  • 身份验证和授权
  • 用户管理
  • 记住我(保存您的登录信息,这样您就不会 必须每次都登录)
  • 密码提醒
  • 注册和注册
  • SSL切换
  • 电子邮件
  • 无扩展名网址文件上传
  • 通用CRUD后端
  • 完整的Eclipse,IDEA和NetBeans支持
  • 快速启动,不使用Maven Jetty插件进行部署
  • 可以使用货物和配置文件在多个应用程序和数据库上进行测试