使用备用密码的asp.net成员身份登录
问题描述:
我正在制作一个ASP.NET应用程序并使用ASP.NET会员控制登录。我希望用户可以使用他的普通密码或快速登录(它允许用户创建一个类似于ATM密码的4位密码)来登录,以获得快速登录体验。我如何实现这一目标?使用备用密码的asp.net成员身份登录
答
您需要扩展基本成员资格提供者并使用它。这是一个起点。
public class DoublePasswordProvider : SqlMembershipProvider
{
public override bool ValidateUser(string username, string password)
{
if (checkPIN(username, password)) return true;
return base.ValidateUser(username, password);
}
}
然后编辑we.config使用它:
<membership defaultProvider="DoublePasswordProvider">
<providers>
<add name="DoublePasswordProvider" type="YourNamespace.DoublePasswordProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
最后使用标准的asp.net控件(登录,修改密码,BLA BLA)
,我应该aspnet_Memberhip表添加一个字段? – user1985972 2013-02-22 10:04:10
这可能是一个解决方案。避免在数据库中以“纯文本”存储引脚(出于安全原因)。始终使用加密或(甚至更好)哈希。 – 2013-02-22 10:06:06
但我怎么定义会员控制来检查备用密码,即如何将登录控件与您提供的SqlMembershipProvider控件连接 – user1985972 2013-02-22 10:29:36