Вниз
Скачать: CL | DM;

Видимость окон для пользователей   Найти похожие ветки 

← →
Jaxtor ©   (2004-08-12 14:55) [0]

Добрый день!

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

Я создал следующую структуру :

Таблица Permissions
-PermissionID int
-UserID int
-WindowID int
-ActionID int

Таблица Windows (древовидная структура)
-WindowID int
-Window int
-ClassName varchar(255)

Таблица Actions
-ActionID int
-WindowID int
-Caption varchar(255)

Таблица Users (древовидная структура)
-UserID int
-User int
-Name varchar(255)


← →
stone ©   (2004-08-12 15:00) [1]


> Jaxtor ©   (12.08.04 14:55)  

Создать таблицу "группы", а в Permissions помещать не UserID, а ID группы. Сответстственно потребуется еще одна таблица, указывающая какие пользователи к каким группам относятся.


← →
stone ©   (2004-08-12 15:00) [2]


> Jaxtor ©   (12.08.04 14:55)  

Создать таблицу "группы", а в Permissions помещать не UserID, а ID группы. Сответстственно потребуется еще одна таблица, указывающая какие пользователи к каким группам относятся.


← →
Ega23 ©   (2004-08-12 15:02) [3]

Если ты ActionList используешь, то окошки не нужны. У меня всё на enable\disable Actions построена.
Для настройки:
Таблица Операций Opers:
OperID int, OperName varchar(), ...
Таблица Users
UserID, UserName1, UserName2, UserName3 ...
Таблица Permissions
UNID int,
UserID int FK_Users,
OperID int FK_Opers


← →
Ega23 ©   (2004-08-12 15:03) [4]

Создать таблицу "группы", а в Permissions помещать не UserID, а ID группы. Сответстственно потребуется еще одна таблица, указывающая какие пользователи к каким группам относятся.

Да, можно и так.


← →
Jaxtor ©   (2004-08-12 15:04) [5]

Правильно, все. Может хранить в базе Tag окна или управляющего элемента?


← →
Ega23 ©   (2004-08-12 15:12) [6]

Может хранить в базе Tag окна или управляющего элемента?

Зачем окна-то? При коннекте считываешь те операции, что разрешены юзеру. После этого enable/disable соответствующим экшенам. И всё.
Конечно, это когда формы через action вызываются :о)


← →
Jaxtor ©   (2004-08-12 15:13) [7]

>stone ©   (12.08.04 15:00) [1]
Мне кажется создавать таблицы для групп не надо, вся структура уже есть:

Jaxtor ©   (12.08.04 14:55)  
...
Таблица Users (древовидная структура)
-UserID int
-User int
-Name varchar(255)

User - это ID группы!


← →
stone ©   (2004-08-12 15:19) [8]


> Jaxtor ©   (12.08.04 15:13)


> Мне кажется создавать таблицы для групп не надо, вся структура
> уже есть:
>
> Jaxtor ©   (12.08.04 14:55)  
> ...
> Таблица Users (древовидная структура)
> -UserID int
> -User int
> -Name varchar(255)
>
> User - это ID группы!

ИМХО, дерево здесь не самое лучшее решение...


← →
Jaxtor ©   (2004-08-12 15:22) [9]

>stone ©   (12.08.04 15:19) [8]
Ладно, попробую через таблицу Groups. Спасибо!


← →
Ega23 ©   (2004-08-12 15:23) [10]

Как бы я строил:

ТаблицаЮзеров                      
     |
Таблица ГруппЮзеров                   Таблица Возможных Действий
               \                          /
              Сводная таблица прав групп юзеров    




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
14-1092959668
Никола
2004-08-20 03:54
2004.09.05
Подскажите, плиз!


10-1035384970
Erik
2002-10-23 18:56
2004.09.05
Вызов CallBack


14-1092348935
Piter
2004-08-13 02:15
2004.09.05
Кто копался в Raize Component?


6-1088617297
leonidus
2004-06-30 21:41
2004.09.05
Тунель через прокси


3-1091801616
Руслан
2004-08-06 18:13
2004.09.05
Как некоторые строки в DBGrid выделить жирным шрифтом?




   Наверх