C# ASP.NET成员资格中的多个安全问题

C# ASP.NET成员资格中的多个安全问题,c#,asp.net-membership,C#,Asp.net Membership,我们正在使用ASP.NET成员资格提供程序来管理应用程序中的用户 一切都很好,直到我们有了新的要求。 用户应该能够选择多个安全问题并给出相同的答案 恢复密码时,将向用户提出一个安全问题,如果用户回答正确,将发送密码 默认情况下,ASP.NET成员资格仅提供一个安全问题和一个安全答案。 有什么方法可以使它使用多个吗?您可以通过子类化将默认ASP.NET成员资格提供程序自定义为您的特定要求。您可以通过子类化将默认ASP.NET成员资格提供程序自定义为您的特定要求。创建您自己的自定义ASP.NET成员

我们正在使用ASP.NET成员资格提供程序来管理应用程序中的用户

一切都很好,直到我们有了新的要求。 用户应该能够选择多个安全问题并给出相同的答案

恢复密码时,将向用户提出一个安全问题,如果用户回答正确,将发送密码

默认情况下,ASP.NET成员资格仅提供一个安全问题和一个安全答案。
有什么方法可以使它使用多个吗?

您可以通过子类化将默认ASP.NET成员资格提供程序自定义为您的特定要求。

您可以通过子类化将默认ASP.NET成员资格提供程序自定义为您的特定要求。

创建您自己的自定义ASP.NET成员资格提供程序将非常有用钥匙。此外,还必须为使用密码Q的.NET登录控件创建自定义模板,以便可以显示多个问答部分

您可能需要将成员资格提供程序设置为不使用密码问题/答案,而是通过编程自行管理。默认情况下,它使用单个Q/A来管理安全性;但由于您需要多个,因此使用自定义逻辑来管理它可能更容易

编辑:我唯一能想到的另一件事是有两个提供者定义,每个定义都有自己的密码问题/答案,这样每个用户就可以在数据库中有效地存储两条记录。问题是UI控件无法使用这种方法,因此您需要自定义构建UI


HTH.

创建自己的自定义ASP.NET成员资格提供程序将是关键。此外,还必须为使用密码Q的.NET登录控件创建自定义模板,以便可以显示多个问答部分

您可能需要将成员资格提供程序设置为不使用密码问题/答案,而是通过编程自行管理。默认情况下,它使用单个Q/A来管理安全性;但由于您需要多个,因此使用自定义逻辑来管理它可能更容易

编辑:我唯一能想到的另一件事是有两个提供者定义,每个定义都有自己的密码问题/答案,这样每个用户就可以在数据库中有效地存储两条记录。问题是UI控件无法使用这种方法,因此您需要自定义构建UI


嗯。

我想他是在问如何做到这一点我想他是在问如何做到这一点布莱恩,这正是我想要避免的。我已经偏离了ASP.NET成员资格,如果我也这样做,我只使用提供程序执行SP Insert/Update:尝试查看是否有另一个选项可以提供多个问题/答案,而不是每个默认问题/答案。谢谢你调查这个问题,当然,但是没有现成的;你必须偏离。我能想到的另一件事就是在上面的帖子里加上了。布莱恩,这正是我想要避免的。我已经偏离了ASP.NET成员资格,如果我也这样做,我只使用提供程序执行SP Insert/Update:尝试查看是否有另一个选项可以提供多个问题/答案,而不是每个默认问题/答案。谢谢你调查这个问题,当然,但是没有现成的;你必须偏离。我能想到的另一件事是在上面的帖子中添加的。你为什么要以可解密的格式存储密码?他可能只是措词笨拙而已。现成的成员资格提供程序将重置密码,而不是重新发送密码。我同意发送原始密码将是一个安全漏洞。如果我没有提到它,对不起。我只是用散列格式存储密码。你为什么要用可解密的格式存储密码?他可能只是措词笨拙而已。现成的成员资格提供程序将重置密码,而不是重新发送密码。我同意发送原始密码将是一个安全漏洞。如果我没有提到它,对不起。我只以哈希格式存储密码。