我正在编写一个 MVC 3 应用程序,并且我正在尝试实现我自己的自定义成员资格提供程序(遵循 Apress 的 Pro ASP.NET MVC 3 框架中的示例)。
我创建了我的自定义类,继承自 MembershipProvider 并(使用 ReSharper)使用 NotImplementedExceptions 实现了所有 27 个方法。
现在,我已经重写了本书所述的 ValidateUser 方法,它工作正常,但我想让我的提供程序更健壮并实现其他方法(例如设置 MinRequiredPasswordLength 和 GetNumberOfUsersOnline)。
是否有一些示例代码可以用来开始填充这些方法,我可以对其进行调整以适应我自己的 DB/Model 模式?
我当然可以通过反复试验来解决这个问题,但是基本代码示例会很有帮助。
编辑:
这个问题刚刚被否决了两次。如果您要投反对票,请发表评论说明原因,以便我可以改进我的问题。
编辑 2:
例如,对于以下方法:
public override int GetNumberOfUsersOnline()
{
throw new System.NotImplementedException();
}
我可以尝试从头开始编写代码来查看一些 web 日志,确定用户登录时间并估计他们是否仍然在,但这将花费我大量的时间来弄清楚。由于所有这些代码都来自 Microsoft 为标准 SqlMembershipProvider 编写的同一接口(interface),所以那里没有包含此方法的代码(甚至来自 MS)吗?如果是这样,我想接受它,对其进行修改,使其使用我的 DB 架构而不是 aspnetdb 默认架构。我希望有某种基本代码可以使用。我认为这将是一个简单且相当标准的要求,但也许不是。
最佳答案
您不能为自定义提供程序使用默认提供程序的代码,这就是为什么您要实现自定义提供程序,根据您的要求对其进行调整,使用您自己的数据库表等。
看看我关于 custom membership 的博客文章, custom role供应商和 custom membership user .那里有一个示例,说明如何使用自己的数据库获取/设置成员(member)信息。
关于asp.net-mvc-3 - 创建自定义成员资格提供程序的示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263537/