我正在创建一个 Web 应用程序,此时我正开始做出后端选择。现在有很多方法可以解决这个问题,所以我正在寻找一些好的点和背部练习。
我涉及的一些问题:
- 我应该在数据库中为管理员用户创建一个单独的表
- 我应该扩展一些类来加载管理数据和普通数据,还是为管理部分创建单独的类
- 我在哪里可以得到一些关于制作不同类型用户的信息
- 只是后端的一些最佳实践
我的应用程序是用 PHP 编写的,带有 MySQL 数据库。
最佳答案
为管理员用户保留一个单独的表很好,但前提是这些管理员用户也不是“普通”用户 - 否则你会踩到自己的脚趾试图保持用户名/ID 唯一但有些关联。
需要考虑的几件事:
Apache authentication (或 IIS 上的 Windows 帐户)管理员用户。完全独立的系统,但允许重叠——普通用户可以是普通用户,但在通过浏览器进行身份验证之前,他们无法访问任何管理功能。如果您只有几种特定类型的用户角色(例如,仅限成员和管理员),则工作正常。
所有用户都在一个表中,但角色和权限是分开的。这是最灵活的,因为您可以根据需要进行细化。例如,任何用户都可以“发表评论”,而管理员可以“删除评论”和“禁止用户”,但版主只能“暂停评论”和“静音用户”。当您添加新功能时,只需实现一些新权限并将它们分配给角色即可。 Drupal的 access control做得很好,值得仔细研究。
关于php - 为应用程序后端做出哪些选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475090/