Дед Анвирыч
Новичок
Система с разделением доспупа
Уважаемые знатоки
)
Стоит задача построить систему с большим количеством зарегистрированных пользователей
Все бы было просто, еслиб эти пользователи не делись на группы (гости, пользователи, покупатели, менеджеры, администраторы...) У каждой группы должны быть свои права на доступ к различным частям системы и на действия в пределах каждой из частей.
Мне в голову пришел только следующий подход:
actions table:
id, description
usergroup table:
id, name, description
permission table:
id, action_id, usergroup_id
users table:
id, login, password, usergroup_id ...
Каждому мало-мальски значимому действию (вход в систему администрирования, например
)
выдается номер, который, соответственно заноститься в базу action (если система подразумевает сторонние плагины (видел как-то одну cms с плагинами
), то можно не номер, а имя давать, что вобщем не имеет значения). Система безопасности
:
Ну и в самих скриптах :
Может кто-то имеет соображения или опыт по более красивой реализации поставленной задачи?
Буду крайне признателен.
Уважаемые знатоки

Стоит задача построить систему с большим количеством зарегистрированных пользователей

Все бы было просто, еслиб эти пользователи не делись на группы (гости, пользователи, покупатели, менеджеры, администраторы...) У каждой группы должны быть свои права на доступ к различным частям системы и на действия в пределах каждой из частей.
Мне в голову пришел только следующий подход:
actions table:
id, description
usergroup table:
id, name, description
permission table:
id, action_id, usergroup_id
users table:
id, login, password, usergroup_id ...
Каждому мало-мальски значимому действию (вход в систему администрирования, например

выдается номер, который, соответственно заноститься в базу action (если система подразумевает сторонние плагины (видел как-то одну cms с плагинами


PHP:
function autorize($login, $password){
}
function permission($login, $action_id){
}
PHP:
$action_id=1;
if((autorize($login,$password))and(permission($login, $action_id))){
...
}
Буду крайне признателен.