问题标签 [reset-password]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2832 浏览

ruby-on-rails - 强制验证 Authlogic 中的空白密码

我正在向使用 Authlogic 的 Rails 应用程序添加密码重置功能。我在这里遵循指南:http: //www.binarylogic.com/2008/11/16/tutorial-reset-passwords-with-authlogic/一切都按照我的意愿进行,除了一件事:密码重置表格接受空白密码并且根本不更改它们。

我一直在四处寻找,并了解到这是预期的默认行为,因为它允许您让用户编辑表单,只有在用户输入新密码时才更改用户密码,否则忽略它。但在这种情况下,我特别想在用户最初注册时强制验证密码。我已经为这个问题找到了两种可能的解决方案,但无法弄清楚如何实现它们中的任何一个。

1) 有人在 Google Groups 上问过同样的问题:

用户模型使用空白密码保存

Ben 的回应是用来@user.validate_password = true强制验证密码。我试过这个,但我得到一个未定义的方法错误:undefined method 'validate_password_field=' for #<User>.

2)似乎有一个名为 Authlogic 的配置选项ignore_blank_passwords。它记录在这里:

模块:Authlogic::ActsAsAuthentic::Password::Config#ignore_blank_passwords

这看起来可行,但我的理解是,这是您acts_as_authentic在用户模型中的初始调用中使用的全局配置选项,我不想在应用程序范围内更改它,因为我确实有定期编辑我希望默认忽略空白密码的用户的表单。

有人找到解决方案吗?我validate_password=在 Authlogic 1.4.1 的更改日志中看到,从那时起就没有任何关于它的内容被删除。我只是不正确地使用它吗?有没有办法ignore_blank_passwords在每个请求的基础上使用?

0 投票
14 回答
3236 浏览

security - 什么更安全?我应该向用户发送一封包含过期 URL 的电子邮件以重置他们的密码,还是应该通过电子邮件发送新生成的密码?

我想知道当用户忘记密码时更安全的选择是什么

  • 将随机生成的新密码发送到电子邮件地址(我的数据库中的所有电子邮件地址均已确认有效)。

或者

  • 发送包含在特定时间范围内过期的链接的电子邮件,用户可以在其中重置密码。

除了后者使用额外的表格之外,您认为更安全/更好的做法是什么?

0 投票
1 回答
244 浏览

.net - .NET Membership - 注册、登录等工作。密码重置不

我试图在不使用问答功能的情况下允许我的网站重置密码功能(这membership在 web.config 的条目中被禁用)。

但是,当调用 resetPassword(使用 .NET MVC 框架中自动生成的控制器/服务/提供程序)时,会引发错误(输入字符串的格式不正确)。

如果我通过Nothing"answer"(如图所示)硬编码到过程中(注册和以上)都没有关系,仍然会抛出错误并且不会重置密码。

有什么想法吗??

0 投票
5 回答
995 浏览

security - 进行密码检索/重置的安全方法?

在我开始之前,我不使用OAuth的原因是我认为这不是我们应该在这个项目中使用的东西,我们的目标是一个平台,该平台将被打包并转售给公司,这些公司连接到他们自己的一组用途我们真的不希望拥有不受 %100 控制的帐户,我们不希望它与其他服务共享登录,我们也不希望强迫人们获得 google/yahoo /openID/aol/facebook/blogger/wordpress/任何帐户。

现在,我想要的是让用户重新设置密码的最佳方法。

我讨厌秘密问题的概念:你去了哪所学校?好吧,让我们检查一下您的 Facebook 页面。你一年级的老师是什么?让我们随便问问他们。

我讨厌通过电子邮件使用一次性密码:从什么时候开始电子邮件安全?你的老板会读它。您每天都向我发送垃圾邮件。它进了你的垃圾箱。它没有加密发送。

我也不想使用密码来重置密码。这没有任何意义。

我真的不知道最好的方法来做到这一点,所以我想我会问社区。

0 投票
1 回答
185 浏览

ruby-on-rails - Ruby on rails Authlogic gem 和 Password_Reset 不以 Edit 结尾

我遵循了这个password_reset 教程并且能够让它工作。但是有几件事我不喜欢它,我想改变它。

  1. 我希望它说password_reset而不是reset_passwords在网址中。我通过重命名控制器并将其路由config/routes.rbmap.resources :reset_passwords, :as => 'reset_password', :only => [:index, :create, :edit, :update]

  2. 我想必须domain.com/password_reset链接到该password_reset页面,而不是让domain.com/password_reset/new
    我能够通过更改它来做到这一点,以便您输入电子邮件的表单视图不再是“新”而是“索引”。

  3. 我想要它,所以当用户收到电子邮件时perishable_token,它会给他们一个类似domain.com/password_reset/perishable_tokenordomain.com/verify_password_reset/perishable_token而不是domain.com/password_reset/perishable_token/edit.
    或者至少我想拥有它domain.com/password_reset/perishable_token/verify

我不知道如何让第三个工作。

0 投票
2 回答
1056 浏览

asp.net - asp.net 会员资格 ResetPassword 不起作用

当我想ResetPassword在 vb.net 或 c# 中使用方法时,它无法重置密码并发出一个错误提示:“提供的密码答案错误”。我认为这是由哈希系统和哈希和盐的机器代码引起的。我怎么解决这个问题 ?

0 投票
4 回答
1979 浏览

design-patterns - 允许用户更改密码的模式。用户是否必须重复新密码以及输入旧密码?

有很多关于在 SO 上恢复密码的问题,但不是关于考虑以下两个之一的更改密码:

1) 用户已经在系统中进行了身份验证(通过用户/密码或通过第三方身份验证,例如 facebook/twitter)
2) 用户知道他或她的旧密码。

鉴于这些起点,我有两个不同的问题,即允许用户以最少的步骤更改他或她的密码的最佳做法是什么。

场景(用户已经通过身份验证并登录系统):
输入旧密码:_ __ _ __ _ (1:我可以摆脱这个)
输入新密码:_ __ _ __ _
再次 输入新密码: _ __ _ __ _ ( 2:我能摆脱这个吗)

1)可以不让用户输入他的旧密码吗?在这种情况下,我假设用户已经通过系统身份验证。让用户重新输入密码似乎是多余的。我知道这对于高安全性应用程序(例如银行)可能很重要,其中用户离开会话无人看管可能允许某人输入新密码而不知道使他们进入这种情况的密码。

在我展示的示例中,应用程序的安全性不是很高,风险也很低。此外,由于我们允许第三方身份验证(facebook/twitter),那么理论上如果其他人在机器上并且用户拥有 facebook/twitter 的实时 cookie,他们就可以进入该帐户。

2)不让用户输入两次新密码是否可以。这样做感觉有点像 90 年代。人们现在已经习惯了密码,他们输入密码与预期不同的 5% 的可能性似乎并没有超过输入两次密码所花费的时间。在这 5% 的情况下,最坏的情况是他们只需要重置密码(或者只需使用 facebook/twitter 登录并重置密码)。我现在发现这样做的一个网站是 Quora(尽管他们仍然执行第 1 步)。我还没有看到很多其他人这样做。

0 投票
3 回答
10852 浏览

asp.net - Active Directory - 调用的目标已引发异常

我在与 Active Directory 不同的服务器中有一个 Web 应用程序,我想更改用户密码。代码如下:

当我在我的开发环境(Active Directory 和 Web 应用程序位于同一台服务器上)中运行它时,它正在工作。但是当我尝试在生产环境中运行它时,我遇到了下一个错误:

调用的目标已抛出异常

我错过了什么?

谢谢。

编辑:

我可以深入研究异常错误并得到以下信息:

访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))

0 投票
3 回答
796 浏览

php - 密码重置验证php

我很想知道:一旦通过电子邮件发送了 pw_reset 令牌,是否可以获取推荐人帐户的电子邮件地址进行验证,或者最好针对 IP 进行验证?我已将我的令牌设置为仅 1 小时过期,即使是动态 IP 也不会以该速率更改,对吗?

我正在玩的一些代码(非常 WIP),对改进/建议/批评开放。

提前致谢。

0 投票
1 回答
2877 浏览

openam - 使用 OpenDJ/OpenAM 启用“下次登录时强制更改密码”时身份验证失败

我正在使用 OpenAM 9.5.4 和 Open DJ 2.4.5,并且遇到“重置时强制更改密码”的问题

以下是我设置环境的步骤:

1) 向默认领域添加了密码服务:

  • iplanet-am-password-reset-userValidate=uid
  • iplanet-am-password-reset-searchFilter=objectclass=person
  • iplanet-am-password-reset-baseDN=dc=opensso,dc-java,dc=net
  • iplanet-am-password-reset-lockout-duration=0
  • iplanet-am-password-reset-max-num-of-questions=5
  • iplanet-am-password-reset-question=最喜欢的餐厅
  • iplanet-am-password-reset-bindPasswd= * *
  • iplanet-am-password-reset-failure-duration=300
  • iplanet-am-password-reset-notification=com.sun.identity.password.plugins.EmailPassword
  • iplanet-am-password-reset-lockout-attribute-name=inetuserstatus
  • iplanet-am-password-reset-lockout-attribute-value=inactive
  • iplanet-am-password-reset-lockout-warn-user=4
  • iplanet-am-password-reset-bindDN=cn=openssouser,ou=opensso adminusers,dc=opensso,dc=java,dc=net
  • iplanet-am-password-reset-lockout-email-address=
  • iplanet-am-password-reset-user-personal-question=true RequiredValueValidator=com.sun.identity.sm.RequiredValueValidator
  • iplanet-am-password-reset-force-reset=true
  • iplanet-am-password-reset-failure-count=5
  • iplanet-am-password-reset-failure-lockout-mode=true
  • iplanet-am-password-reset-option=com.sun.identity.password.plugins.RandomPasswordGenerator
  • iplanet-am-password-reset-enabled=true

2) 在 OpenDJ 中创建密码策略:

配置密码策略的属性

3)创建了一个虚拟属性来将密码策略分配给一组用户:

配置用户定义的虚拟属性的属性

4)创建用户

当我通过“重置密码”屏幕回答秘密问题时,我会收到重置密码的电子邮件。但是使用新密码(或旧密码)会给出“身份验证错误”

我在 OpenDJ 控制面板中查看了用户,“pwdReset”属性按预期从“false”更改为“true”。但是,如果我将其改回“false”,我会验证属性,但我不会被迫更改密码。

有没有其他人有这个问题?