2011-03-09 46 views
0

我已经开始构建一个具有不同用户类型(包括管理员和客户)的Web应用程序,并且我希望每个帐户类型都拥有自己的用户数据库表(会话系统等),但页面中的登录名相同。如何在登录时无形识别用户的帐户类型?

管理员没有注册 - 他们被发布了一个帐户,而客户在专门创建他们的帐户的页面上注册,所以在这个时候和将来,每个用户帐户类型都会有自己的标志up页面。

然而,所有用户帐户类型(即管理员和客户)都应该能够在登录表单中从同一页面登录 - 没有任何差异 - 即没有下拉选择要登录的用户帐户类型。

我的目标是有:

  1. 所有用户帐户类型(3+)登录到经相同形式的Web应用程序,
  2. 在用户名的格式无需任何可见的用户帐户类型标识符如,
  3. 尽可能安全的'不可见'用户帐户类型标识符。

一个解决方案,我想的是:散列每个用户帐户类型不同的密码,但也有一些不变的,可以在标志读入,以确定用户帐户类型的哈希,即再分日志在过程中正确的数据库为该用户,但这将需要在哈希输出中的某种常量......我卡住了。我在正确的轨道上吗?

有没有人知道一个脚本/如何/或文章,涵盖这样的过程? 这必须在很多当前的网络应用程序中使用。

感谢

+1

为什么你想为不同的账户类型有不同的表格?你可以用一个带有标志的表格来表示它是什么类型的帐户。 – Gabe 2011-03-09 07:49:30

回答

0

当我们不得不实现多种账户类型(在大系统我要强调)我们总是在一般的解决(用户)表,以补充附加表(管理员,网站用户,供应商等)

用户表将链接到管理员,Web用户等,任何'通用'功能(即登录,日志,记录锁)将链接回通用用户表。

然后从用户记录中可以推断出它是什么类型的帐户并决定他们可以/不可以做什么。

我应该强调,这只是因为这些表的结构如此不同以至于它们不能全部存储在同一个表中。例如,如果只有1列不同,则不需要执行所有操作。