Codeigniter тот же админ и публичный интерфейс

Я планирую создать сайт, на котором будут участники и загруженный ими контент. Мне нужно выбрать между следующими:

а) Отдельный интерфейс для администраторов и пользователей

б) Один и тот же интерфейс для администраторов и пользователей

Например, конкретный модуль «желтые страницы» будет иметь списки, загруженные участниками. Когда владелец листинга посещает страницу, ему будут отображаться ссылки для редактирования/удаления путем проверки данных их сеанса по базе данных. То же самое будет отображаться для администратора. Эти ссылки не будут видны обычным пользователям. Функции редактирования/удаления также проверяют, является ли пользователь владельцем/администратором, чтобы предотвратить прямой доступ общественности к URL-адресам редактирования/удаления.

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

Итак, мой вопрос: это хороший способ сделать это? или иметь отдельные интерфейсы для пользователей и администраторов, такие как http://philsturgeon.co.uk/blog/2009/07/Create-an-Admin-panel-with-CodeIgniter


person WebNovice    schedule 19.04.2012    source источник


Ответы (2)


Есть и другие варианты. И я предпочитаю это.

C) Смешайте оба ваших варианта (a) и (b)

Создайте отдельный интерфейс для администраторов. который включает в себя список администраторов и управление пользователями и списками (редактирование/удаление/запрет пользователя и т. д.)

Плюс Вы можете использовать пользователей и разрешения типа ситуации. Для экс.

  • Добавьте тип пользователя с правами доступа к таблице: администратор, гость, зарегистрированный, модератор и т. д.
  • Зависит от типа входа: сеанс будет сохранен, и в соответствии с сеансом в интерфейсе будут отображаться операции.
  • Ex.:
    • guest will not see "add comment" link ;
    • registered can add comment + listings + edit own listing ;
    • moderator can edit anyone's listing ;
    • admin has all rights.

В зависимости от вашего приложения и времени вы можете добавить столько, сколько хотите. Я написал в соответствии с глобализацией любого приложения.

person TechCare99    schedule 19.04.2012

Если вы собираетесь использовать тот же интерфейс, это будет менее безопасно. Злоумышленник теоретически может стать администратором через пользовательский интерфейс. Кроме того, при программировании вы должны иметь в виду, что некоторые методы будут использоваться как пользователем, так и администратором, поэтому вы можете просто что-то забыть, позволив злоумышленнику пройти какой-то путь. Я бы лучше создал один класс с методами, используемыми администратором и пользователем (т.е. edit(), delete()), и расширил его двумя классами - пользователем и администратором.

person s.webbandit    schedule 19.04.2012