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

big*_*mac 4 membership-provider c#-4.0 asp.net-mvc-3

我正在编写一个MVC 3应用程序,我正在尝试实现自己的自定义成员资格提供程序(遵循Apress'Pro ASP.NET MVC 3 Framework中的示例).

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

现在,我已经覆盖了书中所述的ValidateUser方法并且它工作正常,但我想使我的提供者更强大并实现其他方法(例如,设置MinRequiredPasswordLength和GetNumberOfUsersOnline).

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

我当然可以使用反复试验来解决问题,但基本代码示例会有很大帮助.

编辑: 这个问题只是两次投票.如果您要进行投票,请发表评论,说明为什么我可以努力改进我的问题.

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

public override int GetNumberOfUsersOnline()
{
  throw new System.NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)

我可以尝试从头开始编写代码来查看一些Web日志,确定用户登录时间和近似值,如果它们仍处于打开状态,但这需要花费大量时间让我弄明白.由于所有这些代码都来自Microsoft为标准SqlMembershipProvider编写的相同接口,因此不存在包含此方法的代码(甚至来自MS)吗?如果是这样,我想要它,修改它,以便它使用我的数据库模式而不是aspnetdb默认模式.我更愿意使用某种基本代码.我认为这将是一个简单而相当标准的要求,但也许不是.

The*_*yan 9

您不能使用自定义提供程序的默认提供程序代码,这就是您实现自定义提供程序的原因,根据您的要求进行调整,使用您自己的数据库表等.

看看我的博客帖子自定义成员,自定义角色提供者和自定义成员资格用户.这里有一个例子,说明如何使用自己的数据库来获取/设置成员资格信息.