Собственно, система - это громко сказано. Всё состоит из таблицы привилегий в следующем виде:
// работа с данными define('DATA_VIEW',1); define('DATA_ADD',2); define('DATA_MANAGMENT,5);
// управление пользователями define('USERS_VIEW_PAGE',9); define('USERS_MANAGMENT',10);
// ещё что-то ....
и функции проверки привелегий:
function check_privileges($action_name) // если не хватает прав - возвращает 0, иначе 1 { if ($_SESSION['priveleges_level']<$action_name) return 0; else return 1; }
При авторизации юзера устанавливаем переменную $_SESSION['priveleges_level'] из БД, где записано некое число (например от 1 до 10), характеризующее уровень доступа юзера - чем больше, тем круче.
Далее, в нужном месте скрипта (например перед работой с БД) мы делаем так:
if (!check_privileges(USERS_VIEW_PAGE)) { echo 'Доступ запрещен'; exit; }
Эту систему я изобрёл сам в предверии ожидания ТЗ по написанию бухгалтерской системы для предприятия.
Хочу услышать ваши мнения по этому поводу. Есть ли какие-то другие системы? Было бы интересно взглянуть.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
stalker_2000
Собственно, система - это громко сказано. Всё состоит из таблицы привилегий в следующем виде:
и функции проверки привелегий:
При авторизации юзера устанавливаем переменную $_SESSION['priveleges_level'] из БД, где записано некое число (например от 1 до 10), характеризующее уровень доступа юзера - чем больше, тем круче.
Далее, в нужном месте скрипта (например перед работой с БД) мы делаем так:
Эту систему я изобрёл сам в предверии ожидания ТЗ по написанию бухгалтерской системы для предприятия.
Хочу услышать ваши мнения по этому поводу. Есть ли какие-то другие системы? Было бы интересно взглянуть.
Link to comment
Share on other sites
16 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.