【发布时间】:2014-12-18 19:26:07
【问题描述】:
我正在尝试创建一个自定义 MembershipProvider,所以我创建了一个名为 CustomMemberhsipProvider 的类,并让它继承自 MembershipProvider:
namespace Solution.Models
{
public class CustomMembershipProvider : MembershipProvider
{
public bool CheckPassword(string password, string SaltedHash)
{
//code
}
public string CreateHash(string saltAndPassword)
{
//code
}
public string GetUserRoles(string userName)
{
//more code etc.
}
}
}
然后我在我的web.config 文件中引用了它,如下所示:
<membership defaultProvider="CustomMembershipProvider">
<providers>
<clear />
<add name="CustomMembershipProvider" type="Solution.Models.CustomMembershipProvider" enablePasswordRetrieval="false" maxInvalidPasswordAttempts="3" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
问题:我收到无数运行时错误,告诉我CustomMembershipProvider does not implement inherited abstract member MembershipProvider.ApplicationName.get / MembershipProvider.ApplicationName.set / MembershipProvider.ChangePassword(string, string, string) etc.
问题:这里到底发生了什么? CustomMembershipProvider 不应该在没有任何额外工作的情况下继承MembershipProvider 的所有属性和功能吗?我错过了一些简单的东西吗?
我对此进行了一些研究,我假设 by virtue of this answer 问题是 Visual Studio 会自动使用 throw new NotImplementedException(); 填充 CustomMembershipProvider 中缺少的每个属性。然而,那个特定的答案并没有帮助我解决问题。
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-membership