【发布时间】:2010-11-13 23:25:22
【问题描述】:
我必须为一个非常大的网站想出一个会员解决方案。该站点将使用 ASP.NET MVC 2 和 MS SQL2008 数据库构建。
当前的会员资格提供者似乎有点矫枉过正,功能太多了。
我只想存储电子邮件/密码和基本的个人资料信息,例如名字/姓氏、电话号码。我只需要 2 个角色,管理员和用户。
考虑到可能有数百万用户注册,您对这种情况有何建议? StackOverflow 使用什么?
我过去经常使用现有的 Membership API,并对其进行了扩展以存储其他信息等。但是有诸如
之类的表格aspnet_Applications
aspnet_Paths
aspnet_SchemaVersions
aspnet_WebEvent_Events
aspnet_PersonalizationAllUsers
aspnet_PersonalizationPerUser
这是非常多余的,我从来没有发现用处。
编辑
只是为了澄清@drachenstern 的回答后的一些其他冗余,在 Membership/Users 表中还有一些我没有用的额外列,但它们会添加到每个 select/insert 语句的有效负载中。
- 手机密码
- PasswordQuestion/PasswordAnswer (我会根据电子邮件恢复密码)
- IsApproved (用户将始终被批准)
- 评论
- MobileAlias
- 用户名/LoweredUsername (或电子邮件/LoweredEmail) [email 是用户名,因此只需要其中 1 个]
此外,我听说 GUID 并不是那么快,而是更喜欢使用整数(就像 Facebook 一样),这也会公开。
如何创建自己的会员资格提供者,重新使用一些会员资格 API(验证、密码加密、登录 cookie 等) 但只有符合我要求的表格?
欢迎提供文章和现有实现的链接,我的 Google 搜索返回了一些非常基本的示例。
提前致谢
马尔科
【问题讨论】:
-
你有没有成功解决过这个问题?您还需要这方面的帮助吗?
-
@drachenstern - 我正在实施的项目已重新安排在 2 月,我可能会继续使用 @Kila 的回答。
-
那么也许您应该对此发表评论或将其标记为已接受的答案;)
标签: c# sql asp.net-mvc login asp.net-membership