默认成员资格和用户分析与自定义成员资格

时间:2009-11-25 08:07:14

标签: asp.net-mvc asp.net-membership

我刚刚浏览了“ AccountController.cs ”代码(创建新的ASP.NET MVC项目时出现的默认代码)。当我尝试将它与我书中提出的那个进行比较时,我注意到两个控制器共享相同的概念并实现相同的方法( LogOn,LogOff,CreateUser,DeleteUser,ChangePassword等。)。 现在,我想知道为什么有人想创建自己的AccountController来替换默认的。

几乎所有的书籍(甚至专业书籍)都没有建议我们应该创建一个AccountController。但是,其中一个( The Beer House )花了整整一章来讨论如何实现这一点。我真的很喜欢它,因为能够看到一个真正的专业项目的代码。但是,如果它是非常大的大型网站的东西,我可能会更好地将我的学习时间花在其他科目上。

我的问题是这样的:对于专业网站(不是很大),使用默认的AccountController是否安全?或者我绝对需要创建一个新的。而且(最重要的)为什么?默认控制器的限制是什么?我是否可以对默认设置进行一些增强,以防它只是为了满足需求?

谢谢

2 个答案:

答案 0 :(得分:1)

这是一个难以回答的问题。您需要列举任何特定的需求,要求或一般的funkiness,并将它们与您已经完成的内容进行比较。如果您连接现有的并且它很适合您,那么可能没有理由写新的东西。

答案 1 :(得分:1)

通常,您需要在默认AccountController中重写或至少进行许多更改。例如:

  • 默认AccountController允许任何人注册(创建新帐户),无需任何电子邮件确认,甚至是CAPTCHA。
  • 默认注册只需要登录,电子邮件和密码。通常,您希望将用户配置文件数据调整为特定应用程序。
  • 没有“忘记密码”选项
  • 没有“编辑个人资料”选项。
  • 我不知道将数据库模式与自动生成的表(aspnet_XXX)集成是否是个好主意。如果您的数据库模式中有自己的“用户”表,那么最好使用您自己的“用户”表编写自己的MembershipProvider。
  • 默认配置文件提供程序以不直观的方式存储配置文件数据(没有每个配置文件字段有一列的表)。