Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
Asp.net AspNetSqlMembershipProvider和PasswordRecovery控件_Asp.net_Asp.net 2.0_Passwords_Membership_Membership Provider - Fatal编程技术网

Asp.net AspNetSqlMembershipProvider和PasswordRecovery控件

Asp.net AspNetSqlMembershipProvider和PasswordRecovery控件,asp.net,asp.net-2.0,passwords,membership,membership-provider,Asp.net,Asp.net 2.0,Passwords,Membership,Membership Provider,我的场景是,我有一个asp.net 2.0应用程序web应用程序,其AspNetSqlMembershipProvider属性如下: enablePasswordRetrieval=“false”和passwordFormat=“Hashed” 但现在,需要将用户的密码以未加密的明文形式存储并显示给超级用户。为此,我已将AspNetSqlMembershipProvider属性更改为: enablePasswordRetrieval=“true”和passwordFormat=“Clear” 问

我的场景是,我有一个asp.net 2.0应用程序web应用程序,其AspNetSqlMembershipProvider属性如下:

enablePasswordRetrieval=“false”和passwordFormat=“Hashed”

但现在,需要将用户的密码以未加密的明文形式存储并显示给超级用户。为此,我已将AspNetSqlMembershipProvider属性更改为:

enablePasswordRetrieval=“true”和passwordFormat=“Clear”

问题在于PasswordRecovery控件的行为方式。从我所读到的内容来看,如果启用PasswordRetrieval=“true”和passwordFormat=“Clear”,它将检查AspNetSqlMembershipProvider标记的属性。它将尝试检索密码。当密码仍然有效地存储为散列密码时,这会导致问题。当AspNetSqlMembershipProvider属性为enablePasswordRetrieval=“true”和passwordFormat=“Clear”时,是否有任何方法强制PasswordRecovery控件重置而不检索密码


对于冗长的解释,我深表歉意,非常感谢所有的帮助/指点。谢谢。

我认为您在数据库中使用两种存储密码的方法不会有任何运气

我的建议是,更改具有散列密码的帐户的密码,以便将其存储为纯文本,然后继续


或者,如果必须存储一些散列和明文密码,则必须考虑扩展成员资格提供程序以支持此功能。根据我的经验,这通常比它的价值更麻烦。

根据我的经验,更改密码格式是有问题的——我认为没有办法让提供商自动为您处理此问题


您可能会考虑强制哈希用户在下次登录时更改密码,或者简单地写一个过程,并在数据库中重置他们的密码。密码表中有一列(我现在看不到)描述了该格式,因此您可以将该值从哈希值更改为clear,然后哈希值将是他们的明文密码,应该可以用于登录。

此外,请记住,明文存储密码有法律含义。如果这些密码被滥用或泄露,您应对所有被泄露的数据负责(包括通过您不拥有的任何其他服务访问的数据,但用户使用了相同的密码)