![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разграничение прав пользователей [D7, MySQL]
Лиса © (2005-06-16 13:02:00)Всем привет! Возникла такая проблема: нужно организовать работу с приложением (клиентское приложение для работы с MySQL) нескольких пользователей с разными правами доступа к информации. Так же для каждого пользователя должен быть соответствующий интерфейс. Если кто-то с этим сталкивался или у кого-то есть какие-то соображения по этому поводу, большая просьба поделиться опытом.
evvcom (2005-06-16 14:44:00) [1]
> что за пользователь сейчас работает и отключать некоторые
> пункты меню. Но ведь эти проверки код загромождают. Вот
> и спрашиваю, если у кого-то решения поэлегантнее.
Само меню формировать динамически, а не включать/отключать, тогда и в модуле администратора, можно будет создавать меню перетаскивать куда удобно и хоть в разные подменю одни и те же действия разносить (если вдруг так удобно будет)
> а вот мои коллеги высказали идею, что пусть, мол, приложение
> само решает, кого на сервер пускать.
Неверный подход. Если есть сервер, контролирующий права, пусть он их и контролирует. Иначе появится у вас какой-нить хакер и будет через иные средства доступа на сервер лазить, а вы потом голову ломать, кто ж там так данные подправил?
-=XP=- (2005-06-16 13:56:00) [2]По идентификатору роли гораздо удобнее делать интерфейс, нежели по конкретному узеру.
Да и администратор потом спасибо скажет.
50 пользователей и 5 групп пользователей - разные вещи.
Лиса (2005-06-16 13:56:00) [3]
> Sergey13
А вообще-то да, так можно будет и много пользователей наплодить и работать с ними гораздо легче будет, если их на группы разбить.
Всем спасибо!
Sergey13 (2005-06-16 13:50:00) [4]2[8] Лиса (16.06.05 13:46)
Какая тут ирония? Никакой иронии. Роль - это привилегии группы пользователей. По идентификатору роли гораздо удобнее делать интерфейс, нежели по конкретному узеру. Я думаю и -=XP=- в [4] на это намекал.
-=XP=- (2005-06-16 13:47:00) [5]То есть просто перебрать все формы проекта и выключить то, на что нет прав у пользователя?
То есть, при создании формы (то ли в конструкторе, то ли в OnCreate)запросить из БД права на пользование элементами интерфейса - и поотключать (Enabed := false) запрещенные элементы управления. Так будет правильнее, с точки зрения ООП.
Лиса (2005-06-16 13:46:00) [6]
> Sergey13
В данной версии сервера похоже нет, есть привилегии, которые, собственно и определяют что-то типа роли. Или это ирония по поводу "придумать"? Напрасно, напрасно...)))
Sergey13 (2005-06-16 13:30:00) [7]2[5] Лиса
А роли в мускуле есть? Если нет, то их стОило бы придумать самостоятельно.
Лиса (2005-06-16 13:19:00) [8]-> -=XP=-
Можно и так сделать, конечно... То есть просто перебрать все формы проекта и выключить то, на что нет прав у пользователя?
Лиса (2005-06-16 13:15:00) [9]Меня-то само разграничение прав на сервере устраивает...а вот мои коллеги высказали идею, что пусть, мол, приложение само решает, кого на сервер пускать. В то же время для каждой таблицы разные права у всех...
-=XP=- (2005-06-16 13:13:00) [10]это постоянно проверять, что за пользователь сейчас работает и отключать некоторые пункты меню. Но ведь эти проверки код загромождают.
А если попытать счастья, и сделать это один раз - при логине пользователя?
Лиса (2005-06-16 13:12:00) [11]Ну, например, первое что мне в голову пришло - это постоянно проверять, что за пользователь сейчас работает и отключать некоторые пункты меню. Но ведь эти проверки код загромождают. Вот и спрашиваю, если у кого-то решения поэлегантнее.
Lord Zmiy (2005-06-16 13:11:00) [12]а чем не устраивает разграничение прав самого скуля ... а вот по поводу отдельных интерейсов помиочь не могу ... кроме как создать базу пользователей и написать что этому пользователю такой интерфейс мыслей нету
Sergey13 (2005-06-16 13:07:00) [13]А какого рода соображения тебе нужны? Вопрос слишком уж общий, ИМХО.