Многопользовательский режим с помощь MySQL

841kks

Новичок
Всем добрый вечер.

Подскажите, как лучше реализовать поддержку нескольких пользователей в системе.
Есть несколько вариантов:
1. Сделать в базе отдельную таблицу, где хранить пользователей и их настройки (права доступа к определенным функциям системы и т.д.).
2. Если не ошибаюсь в MySQL есть возможность добавлять много пользователей и предоставлять им определенные права (на чтение - SELECT, на изменение - UPDATE и так далее, с помощью GRANT).

Так как на самом деле лучше реализовать? Если использовать второй способ, то я так понимаю он более универсален, т.е. можно права устанавливать на любые таблицы в БД.

Надеюсь на вашу помощь, так как сейчас как раз решаю как лучше все-таки это сделать, а опыта не так много.
 

841kks

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

841kks

Новичок
Обычная система. С данными в таблицах. И веб интерфейс для работы с этими данными.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Бредятина, все в куче ACL, права самого mySQL. Пользователь у тебя в приложении должен быть один, и приложение само должно рулить правами доступа своих "приложенческих" аккаунтов, а не через mysql юзаров это решать.
 

841kks

Новичок
Пользователь у тебя в приложении должен быть один, и приложение само должно рулить правами доступа своих "приложенческих" аккаунтов, а не через mysql юзаров это решать.
Зачем же так
:). Я же спрашиваю чтобы не сделать бредятину :).
А почему нельзя использовать права доступа самого MySQL, ведь он предоставляет удобный механизм прав доступа, к таблицам и отдельным ее элементам?
Если реализовывать "приложенческие" аккаунты, то надо будет еще реализовывать механизм прав, т.е. где-то хранить информацию какие пользователи что могут делать в системе (например, что пользователь администратор может удалять и добавлять данные во все таблицы, а рядовой пользователь, например, совсем не может удалять данные).
 

С.

Продвинутый новичок
c0dex, зачем ты торопишься с выводами. Ты же не знаешь, что там за система. Хотя впрочем ТС тоже похоже не знает.
 

841kks

Новичок
c0dex, зачем ты торопишься с выводами. Ты же не знаешь, что там за система. Хотя впрочем ТС тоже похоже не знает.
Да обычная система, просто пытаюсь понять как правильно все реализовать, чтобы потом меньше было проблем.
Если бы знал как все правильно сделать не просил бы здесь помощи.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
С.
Назови мне хотя бы одну систему, которую написал один человек, где рулить доступом нужно на уровне mysql, чтобы было несколько пользователей с разными наборами прав, на SELECT одно, на DELETE другое. Я вот себе такое представить не могу. Фиг знает, может я и не прав тут. Но автору нужно не это.
 

С.

Продвинутый новичок
Ну для СОА (Система Обычная Автоматизирванная) я согласен, ничего такого не надо. Это я ступил, она же ОБЫЧНАЯ! Была бы это СНА, то не грех и правами MySQL воспользоваться.
 

841kks

Новичок
Назови мне хотя бы одну систему, которую написал один человек, где рулить доступом нужно на уровне mysql, чтобы было несколько пользователей с разными наборами прав, на SELECT одно, на DELETE другое. Я вот себе такое представить не могу. Фиг знает, может я и не прав тут. Но автору нужно не это.
А в каких случаях тогда используется такой метод, .т.е. права пользователя рулятся на уровне mysql? Чтобы понимать для чего вообще это тогда использовать.
 

841kks

Новичок
Ну для СОА (Система Обычная Автоматизирванная) я согласен, ничего такого не надо. Это я ступил, она же ОБЫЧНАЯ! Была бы это СНА, то не грех и правами MySQL воспользоваться.
Хорошее настроение - это радует :)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
841kks
Разделение прав доступа на уровне mysql обычно используется для изоляции одного приложения и БД от другой, находящихся в пределах одного сервера.
 

shelestov

я тут часто
Берите нормальный фреймворк и реализуйте ACL встроенными в него функциями.
Съэкономите кучу времени и нервов.
 

841kks

Новичок
Берите нормальный фреймворк и реализуйте ACL встроенными в него функциями.
Съэкономите кучу времени и нервов.
А какой фреймворк посоветуете? Для пользовательского интерфейса хочу использовать jQuery, или вы имели ввиду php-фреймворк.
Задача состоит в том, что все таблицы в БД пользователь администратор настраивает и создает сам, т.е. необходимо реализовать так называемый конструктор, который формирует основную таблицу (количество полей/столбцов пользователь задает сам), и каждое поле таблицы - это может быть (ссылка на элемент таблицы, или ссылка на другую таблицу, или число, или строка, или флаг). Т.е.администратор системы настраивает таблицы сам и потом каждому пользователю или группе пользователей настраивает права доступа к элементам таблицы.
 

shelestov

я тут часто
Вы бы описали задачу подробнее, а то говорим не понятно о чем.
 

841kks

Новичок
Разделение прав доступа на уровне mysql обычно используется для изоляции одного приложения и БД от другой, находящихся в пределах одного сервера.
Спасибо, теперь понятно.
 

craz

Нестандартное звание
че прикольно ТС я так понимаю вообще про права настраиваемые в PhpMyAdmin... такое ощущение.
 
Сверху