1

我正在创建一个 Web 应用程序,此时我开始做出后端选择。现在有很多方法可以解决这个问题,所以我正在寻找一些好的点和背的做法。

我所涉及的一些问题:

  • 我应该在数据库中为管理员用户创建一个单独的表吗
  • 我应该扩展一些类来加载管理数据和普通数据,还是为管理部分创建单独的类
  • 我在哪里可以获得一些关于创建不同类型用户的信息
  • 只是后端的一些最佳实践

我的应用程序是用 PHP 和 MySQL 数据库编写的。

4

2 回答 2

0

为管理员用户保留一个单独的表很好,但前提是这些管理员用户也不是“常规”用户 - 否则你会踩到自己的脚趾试图保持用户名/ID 唯一但有些联系。

需要考虑的几件事:

  • 管理员用户的Apache 身份验证(或 IIS 上的 Windows 帐户)。完全独立的系统,但允许重叠 - 普通用户可以是普通用户,但在通过浏览器进行身份验证之前,他们无法访问任何管理功能。如果您只有几种特定类型的用户角色(例如,仅限成员和管理员),则可以正常工作。

  • 所有用户都在一个表中,但角色和权限是分开的。这是最灵活的,因为您可以根据需要进行细化。例如,任何用户都可以“发表评论”,而管理员可以“删除评论”和“禁止用户”,但版主只能“暂停评论”和“静音用户”。当您添加新功能时,只需实现一些新权限并将它们分配给角色即可。 Drupal访问控制在这方面做得非常好,值得仔细看看。

于 2010-03-19T05:38:20.810 回答
0

一个好方法是在用户表中为“等级”添加一个新字段,以便区分普通用户和工作人员,如果需要,还可以区分不同的工作人员级别,例如版主、管理员等它。因为管理员应该能够执行用户可以执行的所有功能。采用

class Admin extends User { }

如果您想添加特定于员工的附加功能。

至于后端功能,这取决于您的网站是如何设置的。如果您使用的是框架,您可以向现有控制器添加新功能,并将访问权限限制为特定等级的用户。

例如,您可能有一个 ForumPost 对象的控制器,但调用 ForumPost delete() 函数将要求用户成为论坛版主。

如果您不使用框架,您可能必须为所需的每个后端功能制作自己的页面。

于 2010-03-19T05:49:58.643 回答