php - 为应用程序后端做出哪些选择

标签 php mysql backend

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

我涉及的一些问题:

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

我的应用程序是用 PHP 编写的,带有 MySQL 数据库。

最佳答案

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

需要考虑的几件事:

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

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

关于php - 为应用程序后端做出哪些选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475090/

相关文章:

php - MySQL 拒绝在 Windows 7 或 Win2k3 上使用 Apache 2.2 和 PHP 5.2

php - 堆栈与排队?

javascript - 当访问者离开网页时,如何更新 mysql 表?

javascript - 如下所示的这段 php 代码有什么问题?

go - 从 GORM V1 迁移到 V2 时获取 "Missing Error method"

javascript - 在 React.js 中,如何遍历 jsx 元素数组并向它们添加属性

使用 Parse 和 PubNub 的 Android 聊天应用指南

php - 无法使用 PDO::FETCH_ORI_ABS 进行 PDO 倒带

php - jquery 自动完成插件不起作用

mysql - 将两个不相关的 SELECT-s 与不同的 ORDER-s 组合成一个结果