我开发了一个使用会员资格的网络。我有几个故事需要实施。我想用MVC 2的实体框架来构建这个网站。 asp.net会员系统真的很不错。但是难以扩展吗?我不知道。
其中一个: 我想给每个用户一个uniq名称,用户可以像这样使用它来“www.somesite.com/someuser”。我希望用户可以选择从名字和姓氏中生成这些唯一名称(James Hetfield = jameshetfield)。所以我必须扩展我的会员表结构。但我不知道如何在我的数据库中保存我的用户名字和姓氏,以便与我的会员资格和表单身份验证方法进行交互。我该怎么做呢?
我感到困惑的是:当我更改会员表上的数据时...如果有任何字段我必须随着我的更改而改变。
答案 0 :(得分:1)
从数据角度扩展很容易,只需定义自己的EF Person表并存储ProviderUserKey guid列,作为ASP.NET Membership表的外键。
当您想以编程方式而不是通过设计表面控件(用于登录,密码恢复等)执行所有操作时,会出现更大的难度。一旦找到文档,这一切都是可行且简单的,但最终你会进行大量的谷歌搜索。您需要执行此操作以挂钩允许您同时创建和删除成员资格和人员的正确事件等。
总而言之,使用和扩展自己是有意义的。有很多东西需要照顾你。
答案 1 :(得分:0)
一个简单的问题,因为您的连接的名字/姓氏标识符对于URL目的而言必须是唯一的,为什么不只是将其设为用户名,然后将他们的名字和姓氏添加到个人资料服务?
会员资格非常方便,大部分都是交钥匙工程。重新发明轮子没有任何意义,尤其是在Membership和Roles对象中使用内置对象和支持。如果担心数据库存储,我建议尽早设计一个新的密钥到成员资格表来进行连接。它将真正有助于您的性能和空间要求。我最近不得不重构我的,并希望我早点完成它。
另一个值得注意的是,如果您有任何支持该数据库的计划,可以使用MySQL的成员资格,但它绝不是直截了当。