【问题标题】:User Details Management用户详情管理
【发布时间】:2012-11-09 01:31:13
【问题描述】:

我的 Web 应用程序中有一个名为“管理员”的角色。拥有该角色的用户应该能够修改注册用户的信息。

我正在考虑显示一个包含用户详细信息(例如电子邮件、用户名)的表格,并且能够更改它们,但我不知道如果用户亲自来到办公室,我应该怎么做管理员并要求更改密码(是的,他们可以这样做)。管理员是否应该只按行上方的重置按钮并告诉用户在他到家时检查他的电子邮件并继续进行恢复? (例如重置链接)或者管理员应该重置用户的密码并在那一刻给他新密码?第二种方法更可取,因为我被要求这样做...

我知道管理员应该看不到原始密码,因为它应该是散列的并且是未知的。

您对此有何看法?您将如何实现此功能?感谢您的帮助。

【问题讨论】:

标签: database security passwords password-recovery


【解决方案1】:

这个问题没有一个完美的答案。工作流的问题将始终取决于应用程序的特定用例,并取决于它所内置的上下文。

话虽如此,你说对了一件事——让管理员或任何其他用户查看其他人的明文密码,这太可怕了,我的意思是可怕的安全漏洞。所以这绝对是不可能的。

在您的情况下,似乎授予管理员更改某人密码的权利是可行的方法。如果您担心它的外观,请不要担心。 Google Apps 允许域管理员更改该域下任何电子邮件帐户的密码。

最后,我建议采取一点额外的安全措施。当管理员更改另一个用户的密码时,将旧的加密密码存储在一个列中,不要删除它。当管理员设置新密码时,向用户发送一封电子邮件,说“您的密码已被管理员更改,如果您没有要求,请点击这里”。当他们点击电子邮件中的链接时,只需用旧密码覆盖新密码即可。

这样,如果管理员在没有用户请求的情况下更改密码,您可以向该用户求助,并且日志将让您了解管理员有多少次密码重置被用户撤销。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-18
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    相关资源
    最近更新 更多