powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / распределение прав на объекты mysql (базы,таблицы)
8 сообщений из 8, страница 1 из 1
распределение прав на объекты mysql (базы,таблицы)
    #38377698
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, всем привет!
Есть один интересный вопрос по поводу определения прав пользователя ,созданного на сервере mysql .
Представьте себе обычную базу на сервере , называется test . В рамках этой базы есть одна таблица, к примеру Table1.
В этой таблице всего три поля: Счетчик(PK), Поле1, Поле2.

И два типа ролей/пользователей User1 имеет право править Поле1 , а User2 имеет право править Поле2 .


Как и откуда я могу вытащить свойства этих юзеров? Из каких таблиц?

Хочу сделать Grid на PHP либо в JS, который наследует права пользователей с сервера mysql.

Ну к примеру если редактирование поля2 запрещено пользователю User1, то при генерации страницы Html оно к примеру будет неактивно, то есть locked.

То есть организовать наследование прав на уровне визуализированного представления. Это можно сделать при помощи запроса mysql из каких нибудь таблиц, или лучше через php организовать проверку? Ну типа если функция вернула false, то enable поля таблицы = false итд итп.
...
Рейтинг: 0 / 0
распределение прав на объекты mysql (базы,таблицы)
    #38377736
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловКоллеги, всем привет!
Есть один интересный вопрос по поводу определения прав пользователя ,созданного на сервере mysql .
Представьте себе обычную базу на сервере , называется test . В рамках этой базы есть одна таблица, к примеру Table1.
В этой таблице всего три поля: Счетчик(PK), Поле1, Поле2.

И два типа ролей/пользователей User1 имеет право править Поле1 , а User2 имеет право править Поле2 .


Как и откуда я могу вытащить свойства этих юзеров? Из каких таблиц?

Хочу сделать Grid на PHP либо в JS, который наследует права пользователей с сервера mysql.

Ну к примеру если редактирование поля2 запрещено пользователю User1, то при генерации страницы Html оно к примеру будет неактивно, то есть locked.

То есть организовать наследование прав на уровне визуализированного представления. Это можно сделать при помощи запроса mysql из каких нибудь таблиц, или лучше через php организовать проверку? Ну типа если функция вернула false, то enable поля таблицы = false итд итп.


система прав на базы и таблицы, читать здесь:
http://dev.mysql.com/doc/refman/5.5/en/privilege-system.html

В обшем виде, более удобным считается если аппликация будет сама
контролировать доступ к разным модулям через
собственые таблицы.
...
Рейтинг: 0 / 0
распределение прав на объекты mysql (базы,таблицы)
    #38377777
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcВ обшем виде, более удобным считается если аппликация будет сама
контролировать доступ к разным модулям через
собственые таблицы.

То есть вы имеете в виду наплодить еще таблиц с описанием кто куда что имеет, а потом не использовать SHOW GRANTS а просто обращаться к этим таблицам? В общем то направление понятно, ок, спасибо!.
...
Рейтинг: 0 / 0
распределение прав на объекты mysql (базы,таблицы)
    #38377817
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловjavajdbcВ обшем виде, более удобным считается если аппликация будет сама
контролировать доступ к разным модулям через
собственые таблицы.

То есть вы имеете в виду наплодить еще таблиц с описанием кто куда что имеет, а потом не использовать SHOW GRANTS а просто обращаться к этим таблицам? В общем то направление понятно, ок, спасибо!.Тут решение зависит от реальных бизнес-требований. Они зачастую бывают значительно сложнее, чем позволяет организовать стандартная система прав в какой-либо СУБД. Например, у нас у ряда сотрудников есть разрешение на редактирование накладных, датированных только текущим календарным месяцем.
...
Рейтинг: 0 / 0
распределение прав на объекты mysql (базы,таблицы)
    #38377856
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловjavajdbcВ обшем виде, более удобным считается если аппликация будет сама
контролировать доступ к разным модулям через
собственые таблицы.

То есть вы имеете в виду наплодить еще таблиц с описанием кто куда что имеет, а потом не использовать SHOW GRANTS а просто обращаться к этим таблицам? В общем то направление понятно, ок, спасибо!.

Да, имено использовать свои таблицы.
ГРАНТ таблицы достаточно прямолинейные.
кроме того, таблицы не всегда ложатся
1:1 на бзинес-модели. Простейший пример,
Юзер А должен видеть "сводную таблицу"
и не видеть "таблицу детальных трансакций".
А таблица под обоими запросами будет одна и таже.

Или пример который привел miksoft --
ранообразные требования по гибкому доступу
вы встретите на каждом шагу и
никак не выполните на ГРАНТ таблицах.
...
Рейтинг: 0 / 0
распределение прав на объекты mysql (базы,таблицы)
    #38377917
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc,

Так для более гибкого доступа существуют информационные схемы данных. Во всяком случае на ms SQL есть такие вещи. То есть создается информационная схема, внутри которой мы создаем ограничения по любому доступному признаку,фильтру. К примеру есть перевозчик A1 и он имеет право видеть /создавать только те поставки, которые он везет. К примеру при выборке в информационной схеме данных такой перевозчик априори будет видеть только те записи которые отмаркированы к примеру a1. А если у него есть возможность создавать поставки она у него создается с букмаркой/значением в определенном поле a1. Создается схема, а потом уже к этой схеме присоединяется пользовательская роль,которая делает абсолютно все, но в рамках этих ограничений по схеме на глобальном уровне. На мускуле такое реализовано? В ms SQL server, особенно в старой версии 2005 очень удобно это сделано. Или в моем случае- есть три филиала,один в Европе,один в России , один а Азии . И в каждом из них есть отделы транспорта, таможни и к примеру отдел сертификации . И они могут лазить и выполнять свои обязанности в рамках созданных информационных схем. Которые ограничивают доступ на глобальном уровне с гибким тюнингом. Ну к примеру создаю я схему scheme Poland, при создании пишу в ней , что поле Country = Poland . Сохраняю эту схему. И потом присоединяю к этой схеме одну из ролей. Даже если пользователь сделает запрос SELECT * FROM table1 он по умолчанию привязан к схеме и выберет только то, что указано в схеме , а там указан фильтр только типа Польша. Такие реализации на мускуле есть? Если мускул это детище оракла, то уж тем более что то такое должно быть. То же самое можно настроить на запросы добавления,обновления,хранимки,тригеров,логов. Есть такое понятие в мускуле?
...
Рейтинг: 0 / 0
распределение прав на объекты mysql (базы,таблицы)
    #38377935
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов,

нет такого, в Оракле есть но в мускл врядли прикрутят.
МуСкл не детише Оракла а было куплено вместе с Саном.
МыСкл не позиционируется как "Ентерпрайс" левел
база, а скорее для SMB (мелкий и средний бизнес).
...
Рейтинг: 0 / 0
распределение прав на объекты mysql (базы,таблицы)
    #38379386
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcв Оракле естьТам тоже не фонтан. Тот же текущий календарный месяц никак к правам не пришьешь, насколько я в курсе.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / распределение прав на объекты mysql (базы,таблицы)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]