Forum Webscript.Ru

Программирование => PHP => Тема начата: Foshvad от 02 Сентября 2002, 16:20:13

Название: Разделение прав пользователей
Отправлено: Foshvad от 02 Сентября 2002, 16:20:13
Может ли кто подсказать принципы построения subj’а ?
Есть админка сайта, с надцатью разделами и подразделами и набор пользователей. Надобно определенным пользователям дать/не дать доступ в определенные разделы.

Единственное, что приходит в голову – это давать идентификаторы каждому из разделов и хранить список разрешенных для каждого пользователя.
Название: Разделение прав пользователей
Отправлено: GotZfild от 02 Сентября 2002, 16:36:32
Создаешь группы, наделяешь эти группы правами, а уже в полученные группы заносишь пользователей.
Название: Разделение прав пользователей
Отправлено: Foshvad от 02 Сентября 2002, 23:06:22
Ну с группами все понятно. Не понятно, как определенные разделы сайта закрепить за определенными пользователями. Разделы ведь вещь не постоянная, их может больше/меньше.
Запрашивает url http://myhost.com/one/two/

Как определить имеет ли пользователь доступ к данному ресурсу? И как быть с http://myhost.com/one/two/page1 ?
Название: Разделение прав пользователей
Отправлено: Макс от 03 Сентября 2002, 01:06:48
во-первых к php это никакого отношения не имеет.
во-вторых задача описано очень абстрактно. Могу предложить сделать таблицу с полями
раздел | группа пользовтелей

и в скриптах
select count(*) from access_tab where  group=\'$thisGroup\' and section=\'$thisSection\';

Цитировать
Ну с группами все понятно. Не понятно, как определенные разделы сайта закрепить за определенными пользователями. Разделы ведь вещь не постоянная, их может больше/меньше.
Запрашивает url http://myhost.com/one/two/

Как определить имеет ли пользователь доступ к данному ресурсу? И как быть с http://myhost.com/one/two/page1 ?
А ты вообще можешь сам описать (хотя бы просто для себя на бумаге) по какому принципу строятся разделы и как в них распределяются права доступа для юзеров
Название: Разделение прав пользователей
Отправлено: rembo от 03 Сентября 2002, 04:30:02
Цитировать
Как определить имеет ли пользователь доступ к данному ресурсу? И как быть с http://myhost.com/one/two/page1 ?

Если сайт полностью на хэтэмээле то по моему разумнее использовать принципы защиты самой файловой системы (или даже саму файловую систему - правда смутно представляю себе то как можно динамически менять владельца процесса веб сервера).
Если контент сайта хранится в базе данных в виде таблиц каждая таблица (или колонка) представляет из себя некоторый определенный раздел, то опять же не ходя вокруг да около используй подсистему безопасности СУБД. Т.е. заводишь новых пользователей базы и настраиваешь доступ к тем или иным разделам средствами СУБД.
Если же дело обстоит чуть сложнее то наверное придется "придумывать тебе велосипед" (или поразмышлять над переделкой структуры самого сайта)
Название: Разделение прав пользователей
Отправлено: Foshvad от 03 Сентября 2002, 12:05:38
Цитировать
А ты вообще можешь сам описать (хотя бы просто для себя на бумаге) по какому принципу строятся разделы


да

Цитировать
и как в них распределяются права доступа для юзеров


увы, заранее этого не известно

Цитировать

Если сайт полностью на хэтэмээле то по моему разумнее использовать принципы защиты самой файловой системы


полностью согласен, только сайт собирается на php+MySQL, ведь HTML в шаблонах
Название: Разделение прав пользователей
Отправлено: Макс от 03 Сентября 2002, 14:00:03
Цитировать
Цитата:
и как в них распределяются права доступа для юзеров




увы, заранее этого не известно
Что за бред?
Это уже как в сказке:
Цитировать
пойди туда не знаю куда,
принеси то не знаю что


ЗЫ
Ты сам как программист должен решить как эти права доступа будут распределяться. Сядь и на бумаге напиши или нарисуй схемку как будет работать твоя система
Название: Разделение прав пользователей
Отправлено: ThE0ReTiC от 03 Сентября 2002, 14:34:27
Foshvad
Цитировать
увы, заранее этого не известно

Это бред какой-то. Макс  прав. Как ты можешь раздать права, если не знаешь по какой схеме их раздавать?
Название: Разделение прав пользователей
Отправлено: Foshvad от 03 Сентября 2002, 17:37:37
Цитировать
Это бред какой-то. Макс прав. Как ты можешь раздать права, если не знаешь по какой схеме их раздавать?


Да нет, схема известна. Не известны разделы. То есть в админке есть определенное количество разделов и (что особенно напрягает) подразделов. Определять каким юзерам дать доступ к каким разделам и подразделам хочет будущий админ сайта, знакомый лишь с основами программирования.

Для себя я бы оч. хотел уяснить, как осуществить связь разделов и подразделов с конкретными группами пользователей  (особенно есть учестить, что подгруппы могутиметь одинаковые nick\'и)
Название: Разделение прав пользователей
Отправлено: Maniac от 03 Сентября 2002, 20:12:32
Foshvad
Слушай, ну чего ты паришься? Изобретаешь колесо и двухмоторный велосипед.
Если тебе так надо разделять пользователей - сделай это по юниксовской технологии. Каждому разделу (или, кстати, статье), сопоставь значения владельца, группы и прав. Напиши простенький скрипт, который, перед тем, как отдать что-то, проверяет права и ругается, если что не так, а затем проинклюдь его в скриптах работы с разделами.
Как это делать физически - сам думай (зависит от способа хранения твоих статей). Если БД - тобавь три поля. Если файловая система - составляй списки
Название: Разделение прав пользователей
Отправлено: Foshvad от 03 Сентября 2002, 20:29:15
Цитировать
Если тебе так надо разделять пользователей - сделай это по юниксовской технологии. Каждому разделу (или, кстати, статье), сопоставь значения владельца, группы и прав. Напиши простенький скрипт, который, перед тем, как отдать что-то, проверяет права и ругается, если что не так, а затем проинклюдь его в скриптах работы с разделами.


А вот это уже идея! :) Спасибо!

Цитировать

Как это делать физически - сам думай (зависит от способа хранения твоих статей). Если БД - тобавь три поля


все гениальное просто! :)