【发布时间】:2009-07-06 13:36:19
【问题描述】:
为了存储使用 OpenId 登录的用户的用户信息,我计划创建一个用户表。
我的问题是这个新用户表将包含我希望 asp.net 会员用户也能够填写的新字段(个人资料数据)。
我的计划是当用户想要用户名和密码时,他们注册并将信息插入 asp.net_Membership,然后将他们的 guid、用户名、createDate 复制到新用户表中,这样我就可以在代码中查找数据在用户表中,无论他们是否注册了 OpenId 或 asp.net 成员身份。
我想覆盖 Membership.GetUser 以便它查找我的新用户表,然后我将添加到 web.config 配置文件属性中。
使用 Membership.GetUser 来代替使用会更好的性能吗(我会调用新的 User 表):
User user = _repository.GetUser(userId);
我的应用程序已经在工作,我需要添加对某些页面的引用以支持 _repository,所以我只是在考虑性能。
我是否计划创建一个新的用户表?我不喜欢重复的想法,但如果将来我想更改用户名,更新新用户表和 asp.net_Membership 表并不麻烦。
我应该覆盖 GetUser 并在 web.config 中添加配置文件属性还是调用我自己的 User 对象?
创建一个新的用户表和复制核心数据是最好的方法吗?
【问题讨论】:
标签: database-design authentication asp.net-membership openid