|
|
|
| Вот пишу ИС где все работники имеют определенный логин и пароль в соответствии со своими привилегиями они должны иметь определенные права доступа к данным !
Незнаю как с чего начать я по своему написал какая то чушь получается если ктото писал помогите пожайлуста! | |
|
|
|
|
|
|
|
для: asked86
(09.06.2008 в 08:03)
| | Создать переменную, которая будет содержать уровень доступа каждой группы. Например $access=1 - админ; $access=2 - модер и так далее.
Ну а потом при открытии каждой страницы делать проверку на права доступа. | |
|
|
|
|
|
|
|
для: SiM(R)
(09.06.2008 в 09:32)
| | Я тебя понял ! ну смотри, а если у меня Есть допустим простой работник которому нельзя давать доступ например на редактирование данных и я что должен это проверять условием if -, а как нидь проще нельзя ! Ну приведите пример как вы мне советуете по подробнее!
Please! | |
|
|
|
|
|
|
|
для: asked86
(09.06.2008 в 09:51)
| | Как раз для простого работника проверка обязательна. Не проверять можно только для лиц, имеющих полный доступ ко всем функциям.
А вообще я бы проверял каждого. И это не сложно, если сделать модуль проверки. | |
|
|
|
|
|
|
|
для: asked86
(09.06.2008 в 08:03)
| | Я бы предложил вам сделать права аналогичные ОС Unix
1 - владелец
2 - группа
3 - остальные
причем права каждого делятся на
1 - чтение
2 - запись
3 - выполнение | |
|
|
|
|
|
|
|
для: mihdan
(09.06.2008 в 10:50)
| | На практике такая система, к сожалению, не работает.
Так как документ могут смотреть одни группы (простые пользователи), для других (забаненные) он недоступен, для третьих (модераторы) он доступен для редактирования.
Тут возможно два пути.
1. На документ вешать флаги доступности разным группам. Т.е. есть группы пользователей с уникальным id (баненные, модераторы, администраторы и т.д.) и для каждого документа делать поле где прописывать права доступа к нему для разных групп.
2. Непосредственно для каждой группы создавать список документов (по id) разрешённых к определённым дейстствий.
PS Вообще эта тема - источник кучи бессоных ночей и сломаных клавиатур. Каждый изобретает свой велосипед. Красивого универсального и понятного решения я ещё не видел. Обычно ограничиваются некоторыми допущениями и делают авторизацию под конкретную систему, которую расширить потом довольно сложно. | |
|
|
|
|
|
|
|
для: Axxil
(09.06.2008 в 17:35)
| | Axxil, а я про что сказал - группы и права ))) | |
|
|
|
|
|
|
|
для: mihdan
(09.06.2008 в 17:47)
| | Да понятно, что группы и права :) Другое трудно придумать. Дело в мелочах.
Дано.
Есть документ в системе. Например у него выставленны права, согласно вашему предложению. 0777. Разрешено всем всё.
А теперь измените эти права так, чтобы конкретно для группы "Вася, Петя и компания" с unique_group_id = 56 могла только смотреть этот документ, а группа "Колян и пацаны" с unique_group_id= 34 могла смотреть и редактировать его. А остальные группы не могли ничего с ним делать, даже смотреть. | |
|
|
|
|
|
|
|
для: Axxil
(09.06.2008 в 17:58)
| | Imho, тут существует довольно много способов, ну например:
при создании темы (документа и тп) в БД создаются еще такие поля: "смотреть", "изменять", "доступ закрыт". По умолчанию данные поля заполняются номерами (id) групп:
"смотреть" -1,2 (все группы);
"изменять" - админы, модеры;
"доступ закрыт" - по умолчанию пусто, но затем можно будет добавлять те группы, которые не могут просматривать данный ресурс.[хотя последнеев поле в принципе лишнее].
Ну а далее при открытиии страницы смотрим группу пользователя и либо показываем, либо говорим "ACCESS DENIED" ) | |
|
|
|