Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 用户体验问题:用户管理模块中的密码更改_Language Agnostic_Passwords_User Experience - Fatal编程技术网

Language agnostic 用户体验问题:用户管理模块中的密码更改

Language agnostic 用户体验问题:用户管理模块中的密码更改,language-agnostic,passwords,user-experience,Language Agnostic,Passwords,User Experience,我们正在编写一个用户管理模块,管理员可以在其中更改其他用户的密码。 我们将用户的散列密码存储在数据库中 问题是我们向管理员用户提供了什么字段 有一些选择: 显示没有值的输入字段,仅当输入了某个值时才更改密码 使用固定长度字符串显示输入字段,并在值更改时检测更改 有一个显示更改密码按钮的选项,但我们不喜欢这样做 你使用什么选项?为什么?我会选择选项1 显示没有值的输入字段,仅当输入了某个值时才更改密码 这是因为它实际上不是一个“更改密码”选项,而是一个“设置密码”选项。向管理员用户显示当前哈希

我们正在编写一个用户管理模块,管理员可以在其中更改其他用户的密码。 我们将用户的散列密码存储在数据库中

问题是我们向管理员用户提供了什么字段

有一些选择:

  • 显示没有值的输入字段,仅当输入了某个值时才更改密码

  • 使用固定长度字符串显示输入字段,并在值更改时检测更改

有一个显示更改密码按钮的选项,但我们不喜欢这样做


你使用什么选项?为什么?

我会选择选项1

显示没有值的输入字段,仅当输入了某个值时才更改密码

这是因为它实际上不是一个“更改密码”选项,而是一个“设置密码”选项。向管理员用户显示当前哈希没有任何价值

因此,在更新用户代码中,您只需检查密码字段是否已设置,如果已设置,则对新值进行散列并存储新散列

注意:这传统上不同于用户(包括管理员)更改自己密码的方式


在这种情况下,通常会提示用户输入旧密码的值,以确保用户登录时不会有其他人出现在屏幕上。但是,如果您想重复使用同一屏幕(使用不同的where子句),那么这并不是必需的——这只是通常所做的。

经过几分钟的头脑风暴,我们得到了合并选项,即在文本框中显示固定大小的值,并使用onfocus()和onblur()事件,以便在未输入文本时,在焦点处空白字段并在焦点不集中时返回固定大小的字符串