ФорумПрограммированиеPHP для идиотов → Реализация панели администратора [help]

Реализация панели администратора [help]

  • id-n

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz Июль 25, 2010, 2:11 д.п.

    Доброе время суток уважаемые форумчане. Столкнулся с такой вот проблемой: как реализовать защищенную админку ? Каждый пользователь в базе относиться к определенной группе (админы,модеры,юзеры…) И как мне разрешить доспут в панель администатора если пользователь относится к группе администраторов.Если кто сталкивался с подобной задачей поделитесь опытом.


    p.s. про группы это как вариант… если есть способы по лучше с удовольствием выслушаю.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz Июль 25, 2010, 2:27 д.п., спустя 15 минут 21 секунду

    новое поле в таблице с юзверями isadmin))) у всех нулл, а у тебя единичка))
    Высокоуровневое абстрактное говно
  • id-n

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz Июль 25, 2010, 2:35 д.п., спустя 8 минут 34 секунды

    и в сессии должна храниться об этом инфа?

    if ($_SESSION['isadmin'] == 1) {

    // админка

    }


  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Июль 25, 2010, 7:12 д.п., спустя 4 часа 36 минут 38 секунд

    и в сессии должна храниться об этом инфа?

    да, записывай еще в сессию, что бы каждый раз не создавать запрос в базу.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Июль 25, 2010, 8:10 д.п., спустя 57 минут 49 секунд

    $user['isadmin'] или User::isAdmin() — дело вкуса.

    в базе мне привычнее видеть как принадлежность к группе — т.е. поле group таблицы users — в форумных движках обычно права сделаны через группы.
    хотя некоторые уважаемые товарищи предпочитают иметь специальную таблицу admins.

    а прогрессивное человечество использует "роли", тогда право может проверяться как $user->can('administrate'), а присваиваться как $user->useRole('Administrator')
    ιιlllιlllι унц-унц
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz Июль 25, 2010, 9:59 д.п., спустя 1 час 49 минут 38 секунд

    artoodetoo, я в Yii роли юзаю, очень удобно
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Июль 25, 2010, 10:15 д.п., спустя 15 минут 56 секунд

    роли рулят. надо будет еще пораскручивать тему как следует.
    в Yii сделано красиво, но два "НО": нет примера отображения ролей на БД (или я не нашел) и лишний оптимизм— если не запрещено, то разрешено (опять же если я правильно понял)
    ιιlllιlllι унц-унц
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz Июль 25, 2010, 10:58 д.п., спустя 42 минуты 34 секунды

    а прогрессивное человечество использует "роли", тогда право может проверяться как $user->can('administrate'), а присваиваться как $user->useRole('Administrator')

    +1
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz Июль 25, 2010, 11:50 д.п., спустя 52 минуты 5 секунд

    Вот может интересно кому http://yiiframework.ru/doc/cookbook/ru/access.rbac.file
  • id-n

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz Июль 25, 2010, 1:33 п.п., спустя 1 час 43 минуты 14 секунд

    спасибо за ответы.. но только без фреймворков и ООП не это возможно реализовать ? Я пока новичок и хотелось бы набраться опыта без использования ООП .
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz Июль 25, 2010, 1:55 п.п., спустя 22 минуты 14 секунд

    http://pyha.ru/articles/php/auth/
    Спустя 52 сек.
    ну а дальше в бд записываешь принадлежность юзера к каждой группе и проверяешь

Пожалуйста, авторизуйтесь, чтобы написать комментарий!