创建自定义成员资格提供程序的示例代码

问题描述:

我正在编写一个MVC 3应用程序,我试图实现自己的自定义成员资格提供程序(按照Apress'Pro ASP.NET MVC 3框架中的示例)。创建自定义成员资格提供程序的示例代码

我创建了自定义类,继承自MembershipProvider并(使用ReSharper)使用NotImplementedExceptions实现了所有27个方法。

现在,我已经重写了ValidateUser方法,因为本书状态很好,但我想让我的提供程序更健壮并实现其他方法(例如设置MinRequiredPasswordLength和GetNumberOfUsersOnline)。

是否有一些示例代码,我可以用它来开始填充这些方法,我可以调整以适应我自己的DB/Model模式?

我当然可以使用试验和错误来弄清楚,但是一个基本代码示例会大大地帮助。

编辑: 这个问题只是downvoted两次。如果你打算冷静下来,请发表评论,以便我可以改进我的问题。

编辑2: 例如,对于下面的方法:

public override int GetNumberOfUsersOnline() 
{ 
    throw new System.NotImplementedException(); 
} 

我可以尝试从头开始编写代码来看看一些网络日志,确定用户的登录时间和近似的,如果他们是还在继续,但这需要大量时间才能弄清楚。由于所有这些代码都来自Microsoft为标准SqlMembershipProvider编写的相同接口,是否存在包含此方法的代码(即使是来自MS)?如果是这样,我想把它,修改它,所以它使用我的数据库架构,而不是aspnetdb默认架构。我宁愿有一些基本代码来工作。我认为这将是一个简单和相当标准的要求,但可能不是。

+1

问题与您的问题是,它不是一个可接受的问题的网站。你在要求例子来做你想做的事情。你应该问的是那些会有明确答案的问题。问你问题的更好的方法是包括你试图得到你想要的结果的代码,提到它出错的地方以及你试图解决它的问题。在这种情况下,请告诉我们您的供应商实施情况,指出供应商不足的地方并从那里出发。 – 2012-02-13 16:05:43

+0

@JeffMercado,感谢您的反馈。请让我知道,如果我的第二次编辑有助于澄清我的问题。 – bigmac 2012-02-13 16:56:58

不能使用默认提供的代码为您定制供应商,这就是为什么你要实现一个自定义,调整它根据您的要求,使用自己的数据库表等

看看我的博客文章custom membership,custom role提供商和custom membership user。有一个例子说明如何使用自己的数据库获取/设置成员信息。

+0

这就是我一直在寻找的。非常感谢你! – bigmac 2012-02-13 18:51:45

+0

@bmccleary你是最受欢迎的:) – TheBoyan 2012-02-13 18:52:28

以下是MSDN上自定义MembershipProvider的示例实现。

http://msdn.microsoft.com/en-us/library/6tc47t75.aspx

+0

感谢您提供参考。我在Google的链接中陷入困境,因为我认为我没有正确地搜索我的搜索。我欣赏直接的联系。 – bigmac 2012-02-13 18:52:57