我在.NET应用程序中有一个自定义身份验证机制,用于存储用户密码的哈希值,然后针对该哈希值测试输入的密码以授予身份验证票证。
密码被哈希,显然我不知道我的用户密码。
对于调试等,我需要能够冒充用户并登录他们的帐户,但需要一些系统来解决我没有密码的事实。
我考虑过的一个选项是对主密码进行身份验证失败的二次测试,但我认为这有点弱,因为如果主密码被泄露,那么如果电子邮件地址已知,则所有帐户都可以访问。
对于这个问题,有没有一个很好的解决方案?
答案 0 :(得分:2)
这是一种公认的间接响应,但实际上使应用程序绕过身份验证过程的构建功能是一种冒险的方法。我会看一下你试图调试的实际过程是什么,特定帐户是什么,可以帮助你测试这个,然后专注于解决这个问题。也许您可以通过更强大的单元测试来解决这个问题,也许您甚至需要在相同角色中的测试帐户来复制行为。无论哪种方式,我都会避免故意破坏您自己的身份验证方案!
顺便说一下,希望当你说“存储用户密码的哈希值”时,那里也会有一个加密随机盐。