Администратор моих локальных форумов - PullRequest
0 голосов
/ 14 февраля 2012

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

UPDATE

Нужно ли создавать новую таблицу только для администратора?
Как я могу установить роли для него и других участников?

ОБНОВЛЕНИЕ

Интересно, может ли администратор иметь разную компоновку всех страниц (кнопки для управления пользователями, просмотра IP-адресов пользователей в сети, принудительного запрета ip или доступа к браузеру и т. Д.) По сравнению с другими обычными пользователями. Если он может, как они расположены и установлены на всех страницах, это слишком сложно, не так ли? Или я слишком много думаю об этом?

Ответы [ 4 ]

0 голосов
/ 14 февраля 2012

вы можете использовать мой Tiny Auth: http://www.dereuromark.de/2011/12/18/tinyauth-the-fastest-and-easiest-authorization-for-cake2/

Он не обязательно нуждается в таблице ролей (Configure делает свое дело) и имеет настройку, позволяющую автоматически разрешать пользователям все действия без префикса администратора и разрешать все методы с префиксом admin_ администратору. никаких накладных расходов.

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

if ($this->Session->read('Auth.User.role_id') == Configure::read('Role.admin')) {
    //echo admin stuff inline
}

это выведет только информацию и ссылки / кнопки, если вы являетесь администратором.

или вы можете смешать эти два, конечно.

0 голосов
/ 14 февраля 2012

Обычно у вас есть таблица User (которую, я полагаю, у вас уже есть) с полем «Роль».Когда кто-то входит в систему, вы можете определить, является ли пользователь администратором.

Если вам не нужна огромная гибкость, вы можете жестко закодировать права администратора в своем коде.Когда действие требует, чтобы пользователь был администратором, вы просто сверяете его со значением в поле Роль.

0 голосов
/ 14 февраля 2012

Добавьте еще один столбец к вашей таблице пользователей «Роль», которая определяет, является ли пользователь администратором или нет, при входе в систему проверьте это поле и установите переменную сеанса $_SESSION['is_admin'], затем на соответствующих страницах проверьте, установлено ли это поле, и включите специфичные для администратора.файлы.

0 голосов
/ 14 февраля 2012

Я должен хранить его в одной пользовательской таблице, как я полагаю, вы делаете это сейчас, и сохранять в пользовательской таблице запись для его «уровня», который представляет некоторые привилегии, полученные через LEFT-соединение из другой таблицы.

Это всего лишь пример, так как ваша цель может быть достигнута несколькими способами.

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