Какой выбор сделать для бэкэнда приложения - PullRequest
1 голос
/ 19 марта 2010

Я создаю веб-приложение и начинаю делать бэкэнд-выбор. Сейчас есть много способов пойти с этим, поэтому я ищу некоторые хорошие моменты и практики обратно.

Некоторые вопросы, которые у меня возникли:

  • Должен ли я сделать отдельную таблицу в БД для пользователей с правами администратора
  • Должен ли я расширить make некоторые классы для загрузки данных администратора и обычных данных или создать отдельные классы для раздела администратора
  • Где я могу получить информацию о создании разных типов пользователей
  • Просто несколько лучших практик для бэкэнда

Мое приложение написано на PHP с базой данных MySQL.

Ответы [ 2 ]

0 голосов
/ 19 марта 2010

Хороший способ сделать это - добавить новое поле в таблицу пользователей для «rank», чтобы различать обычных пользователей и сотрудников и, возможно, различные уровни сотрудников, такие как модератор, администратор и т. Д. если тебе это нужно Потому что администратор должен иметь возможность выполнять все функции, которые может выполнять пользователь. Используйте

class Admin extends User { }

, если вы хотите добавить дополнительные функции, специфичные для сотрудников.

Что касается внутренних функций, это зависит от того, как настроен ваш сайт. Если вы используете платформу, вы можете просто добавить новые функции к существующим контроллерам и ограничить доступ только пользователям с определенным рангом.

Например, у вас может быть контроллер для объектов ForumPost, но вызов функции delete () ForumPost потребует от пользователя быть модератором форума.

Если вы не используете фреймворк, вам, вероятно, придется создавать свои собственные страницы для каждой необходимой вам серверной функции.

0 голосов
/ 19 марта 2010

Ведение отдельной таблицы для пользователей-администраторов - это хорошо, но только если эти пользователи-администраторы также не являются "обычными" пользователями - в противном случае вы сами наступите, пытаясь сохранить уникальные имена пользователей / идентификаторы, но в некоторой степени связанными. 1001 *

Пара вещей, на которые стоит обратить внимание:

  • Проверка подлинности Apache (или учетные записи Windows в IIS) для пользователей с правами администратора. Система полностью отделена, но допускает перекрытие - обычный пользователь может быть обычным пользователем, но они не могут получить доступ к каким-либо функциям администратора, пока не пройдут аутентификацию через браузер. Работает нормально, если у вас есть только пара определенных типов пользовательских ролей (например, только член и администратор).

  • Все пользователи в одной таблице, но с разными ролями и разрешениями. Это наиболее гибко, потому что вы можете получить столько гранул, сколько вам нужно. Например, любой пользователь может «оставлять комментарии», в то время как администратор может «удалять комментарии» и «блокировать пользователей», но модератор может только «приостанавливать комментарии» и «отключать пользователей». Когда вы добавляете новые функции, это просто вопрос реализации некоторых новых разрешений и назначения их ролям. Drupal контроль доступа делает это действительно хорошо, стоит присмотреться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...