Как сделать следующее (и как правильно сформулировать вопрос)?

gogan

Новичок
Как сделать следующее (и как правильно сформулировать вопрос)?

В общем идея такая: есть намерение сделать сайт организации с кучей поддоменов. Что требуется:
Каждый поддомен будет предоставлен какому-нибудь подразделению этой организации.
У каждого поддомена должен быть ограниченный доступ к централизованной базе данных: свободный просмотр, но изменение только ограниченного набора таблиц и записей (то есть, допустим, редактирование определенного альбома фотогалереи).
У администратора поддомена должен быть полный доступ к папкам и файлам своего поддомена.

Но проблема в следующем: с одной стороны, расчитываем на сознательность каждого отдельного админа, но все же нужно ограничить их свободу хотя бы доступом к базе, чтобы все не похерить.

Как можно осуществить эту идею? Написать свой апи для ДБ и запретить выполнять встроенные команды (вопрос как)? Передавать все команды обработчику на головном хосте и там производить валидировать все запросы к базе и тп?

Есть ли другие варианты релизации? Где и что вообще можно почитать на эту тему и в каком направлении искать?
 

tf

крылья рулят
прямыми руками писать api сайта которое и будет разграничивать доступ
в чем проблемы?
 

gogan

Новичок
А можно чуть поподробнее? Никогда не сталкивался с такой задачей, а пути решения наверняка уже кем-то придуманы.
 

gogan

Новичок
проблему я описал.
Примерный механизм работы апи? ссылки на другие реализации?
 

Фанат

oncle terrible
Команда форума
у модераторов этого сайта разные права.
у кого-то - на один раздел, у другого - на группу разделов, у третьего - на все.

причем здесь доступ к базе - непонятно.
 

tf

крылья рулят
свою проблему ты не описал
ты описал свою задачу
Примерный механизм работы апи
вот это и смущает

PHP:
функция название(модуль, пользователь) {
    вернуть да если мы разрешаем
    вернуть нет если мы запрещаем
}
ссылки на другие реализации
не в этом месте

в чем у тебя проблема?
 

denver

?>Скриптер
gogan
У каждого поддомена должен быть ограниченный доступ к централизованной базе данных
Ну даже если условие централизации базы это обязательно (единый DB_SERVER ведь имеется в виду?) , но ведь не обязательно же создавать для всех единую базу (DB_NAME) и одного и того же DB_USER и т.п.

Или всё таки у вас там что-то типа дешевого хостинга с разрешением только на одну DB_NAME? Ну тогда это не "сайт организации" и нечего заливать.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Re: Как сделать следующее (и как правильно сформулировать вопрос)?

Автор оригинала: gogan
У каждого поддомена должен быть ограниченный доступ к централизованной базе данных:
редактирование определенного альбома фотогалереи

Есть ли другие варианты релизации? Где и что вообще можно почитать на эту тему и в каком направлении искать?
Вопрос не по теме - распределение полномочий в БД к PHP не относится.

А вообще, задача поставлена некорректно - группа разработчиков сайтов не должна испытывать проблем с правами доступа к БД своего сайта. Но это тоже вопрос по менеджменту, а не по PHP.

Надо создать центральное хранилище и ограничить права подразделений - делайте службу и интерфейс доступа к ресурсу. Но это актуально для организаций с филиальной сетью национального масштаба.
Если задача лишь в том, "чтобы все не похерить" - нанимайте профессионалов и делайте backup.
 
Сверху