ASP .NET会员自定义

时间:2011-11-29 12:32:43

标签: c# asp.net sql-server asp.net-mvc-3 asp.net-membership

在我了解ASP .NET Membership内置框架后,我认为这些东西几乎适合我。但是我希望有一些功能和编辑:

  1. 两步注册:用户输入所有帐户信息后,应将验证信发送至键入的电子邮件。在验证电子邮件地址之前,无法登录(应显示一些消息,告知用户在允许使用帐户之前需要进行电子邮件验证)。

  2. 会员资格数据库计划:

    • 无需存储用户问题以恢复密码。
    • 非法尝试登录是不必要的。
    • 可能会更改默认aspnet_前缀。
    • ......等等
  3. 对于我知道的第一项,我可以使用从SqlMembershipProvider派生的自己的类。我这是对的吗?你能指点一些我能学到的好帖子吗?

    对于第二次改进,这似乎是一个麻烦。在this book中,我读过这并不容易:

      

    •内置SQL存储提供程序需要直接访问您的数据库   如果你有一个强大的领域模型概念或使用特定的东西,感觉有点脏   其他地方的ORM技术。

         

    •内置SQL存储提供程序需要特定的数据模式   与其他应用程序的数据共享并不容易   架构。

2 个答案:

答案 0 :(得分:1)

我在子类化SqlMembershipProvider时遇到的最大问题是它没有为您提供连接字符串。你必须破解这个类才能获得对大多数现代登录系统工作方式有用的东西。

我不确定数据库表名称 - 我不认为它是由SqlMembershipProvider控制的,但实际上是在ASP.NET安装程序类中。

我的建议是从头开始创建自己的,并使用内置的FormsAuthentication帮助程序。与必须符合提供商的烦恼时间相比,这真的不是一项大任务。在完成成员资格提供程序路由之后,我使用Roadkill执行此操作,并发现它是一个特别针对Active Directory支持的死胡同。

答案 1 :(得分:0)

  1. 您可以通过Implementing Custom Membership User完全控制您的会员数据库架构(当然您还需要实施Membership Provider for the User)。
  2. configuring CreateUserWizard control自定义用户创建步骤。您将更改其模板并处理事件,我认为您不需要覆盖它。