Вниз
Скачать: 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.024 c
4-1090515462
AD_infiniTUM
2004-07-22 20:57
2004.09.05
Как рисовать цветом кнопки


4-1090406888
Delphi5.01
2004-07-21 14:48
2004.09.05
Ia pitaus ispolzovat "rar.exe" console dla arhivacii dannih, ...


1-1092906179
Марат
2004-08-19 13:02
2004.09.05
Fatal Error


14-1092862180
VID
2004-08-19 00:49
2004.09.05
Ещё раз ищу прокси


1-1092834830
Phoenix
2004-08-18 17:13
2004.09.05
Индивидуальные иконки в TreeView




   Наверх