不同表中的成员提供者用户

时间:2010-03-07 22:52:25

标签: c# asp.net-membership

我在不同的表中有一个包含用户和管理员的现有数据库。 我正在重写ASP.net中的现有网站,需要决定 - 我应该将两个表合并到一个用户表中,只有一个提供者,或者将表分开并有两个不同的提供者。

管理员,他们需要能够创建,编辑和删除用户。我在想会员/简介提供者编辑用户的方式(即

System.Web.Profile.ProfileBase pro = System.Web.Profile.ProfileBase.Create("User1");
pro.Initialize("User1", true);
txtEmail.Text = pro["SecondaryEmail"].ToString();

是编辑用户的最佳方式,因为提供商处理它​​?如果你有两个独立的提供者,你不能使用它吗? (因为他们都在看不同的表格。)

或者我应该为管理员编辑很多方法来编辑用户?

更新:
让自定义成员资格提供者查看两个表都很好,但那么配置文件提供程序呢?配置文件提供程序GetPropertyValues和SetPropertyValues将与用户和管理员使用相同的属性集。

2 个答案:

答案 0 :(得分:1)

您可能应该将两个表合并为一个并使用RoleProvider来区分管理员和“普通”用户。

或者,您可以实现自己的自定义membership provider,这将使用两个表。

答案 1 :(得分:0)

麦克, 我的建议是继续合并你的两个'会员'表并将管理员与非管理员分开。

(这是,我知道上一个答案的副本,但我觉得有必要解释..)

通过这种方式,除非您有一些令人信服的理由来实现自定义提供程序,否则您将能够利用库存提供程序和数据库结构为您的网站提供强大的用户管理故事,而无需编写任何代码(您必须测试并保持)。

.2比索....