Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Формирование интерфейса в заисимоти от привилегий / 25 сообщений из 70, страница 1 из 3
08.01.2008, 15:44
    #35048205
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Всем привет. Передомной стоит задача: отображать гуй в зависимости от прав юзера(прятать\дизейблить контролы). Тостый клиент. Гуи - отображение селетов из вьюшек. СУБД - оракл. Клиент не может коннектиться под системом. Просьба подсказать решение\паттерн\литературу как это умно реализовать. Заранее большое спасибо.
...
Рейтинг: 0 / 0
08.01.2008, 17:43
    #35048428
Vetic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
попробуй методу описанную здесь тыц
...
Рейтинг: 0 / 0
10.01.2008, 10:13
    #35051893
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
у меня построено в xml контролов - и в зависиомти от условий я меняю или язык или степень доступности - очень удобно и просто.

В контуркторе каждой формы ставишь вызов проверки всехусловий и аттрибутов формы
...
Рейтинг: 0 / 0
10.01.2008, 10:36
    #35051942
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Lepsikу меня построено в xml контролов - и в зависиомти от условий я меняю или язык или степень доступности - очень удобно и просто.

В контуркторе каждой формы ставишь вызов проверки всехусловий и аттрибутов формы
если коннект из другой проги, то полные права?
...
Рейтинг: 0 / 0
14.01.2008, 15:04
    #35060106
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
...
Рейтинг: 0 / 0
14.01.2008, 16:31
    #35060440
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
>Denis.
> ... отображать гуй в зависимости от прав юзера ...

Допустим, что Вы можете разбить (сгруппировать) ресурсы (прятать\дизейблить контролы) на группы и число получившехся групп <2K (например). За каждой группой закрепляете один бит. Биты группируются в линейку (256 байт). Линейка - поле в таблице клиентов.
При авторизации клиента, клиентское приложение получает битовую линейку. В поле Tag (например) пишешь индекс группы доступа. Если бит в линейке с индексом группы = 0, то прячешь\дизейблируешь контрол.

С уважением, Владимир.
...
Рейтинг: 0 / 0
15.01.2008, 09:50
    #35061569
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
ВМоисеев
За каждой группой закрепляете один бит. Биты группируются в линейку (256 байт).
сейчас биты никто несчитает. Наоборот, в ООП за командой назначают класс Команда (шаблон программирования Command). И т.д.
У всех методов здесь один недостаток - безоп.на клиенте ущербна тем, что сервер ей незанимается.
Зайди на Access'e в БД и увидишь всё без контролов.
...
Рейтинг: 0 / 0
15.01.2008, 12:50
    #35062320
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Petro123Зайди на Access'e в БД и увидишь всё без контролов.Верно, но даже при полной серверной защите есть еще вопрос юзабилити - зачем пользователю давать возможность нажимать кнопку, по которой он заведомо получит фигвам?
...
Рейтинг: 0 / 0
15.01.2008, 14:00
    #35062622
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
ModelR Petro123Зайди на Access'e в БД и увидишь всё без контролов.Верно, но даже при полной серверной защите есть еще вопрос юзабилити - зачем пользователю давать возможность нажимать кнопку, по которой он заведомо получит фигвам?
я не люблю прыгающих-появляющихся кнопок ( за редким исключением ). Прога ведёт себя "в угадайку".
IMHO
Я за "серенькие" кнопки и за "... Ничего не выделено (с Фотошоп)"
...
Рейтинг: 0 / 0
15.01.2008, 14:02
    #35062635
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
и потом, редко бывает ОДНА форма для разных функ.рабочих мест с кучей ДА-НЕТ контролов.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
15.01.2008, 17:51
    #35063600
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
>Petro123
>сейчас биты никто несчитает... безоп.на клиенте ущербна тем ...

>ModelR
> ... зачем пользователю давать возможность ...

В схеме прототипа ( здесь ) эти требования разрешены так:
1. Клиенты всех типов (администраторы, гости, обычные) определены в системе вместе с их правами (есть запись в таблице клиентов, включающяя 128 байтов поля binary - на данный момент- права)
2. Клиент любого типа может открыть любое (были бы ресурсы) число сессий.
3. Сессия строится так,- клиентское приложение посылает информацию аутентификации серверу приложений СП (используется ассимметрино-симметричная криптография) и если всё хорошо, то СП создаёт сессиию - запись в таблицу сессий - и передает права клиентскому приложению. Эти же права находятся и в клиентской сессионной записи.
4. Клиентское приложение анализируя линейку прав, управляет контролами.
5. Для выполнения операций с данными, клиентское приложение, посылает сообщение-запрос серверу приложения (индекс_сессии+индекс_класса + индекс_метода_в_классе + сериализованные_параметры). Анализируя запрос СП читает и права клиента из поля записи таблицы сессий. Если выполнение данного типа запроса запрещено, то клиент получит не штатную ситуацию.

С уважением, Владимир.
...
Рейтинг: 0 / 0
16.01.2008, 09:26
    #35064357
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
ВМоисеев топик был о простых решениях.
У Вас, же сервер нивелирован 3-х звенкой до простого скопища файлов для среднего звена.

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
16.01.2008, 16:18
    #35065963
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
>Petro123
> ... сервер нивелирован 3-х звенкой до простого скопища файлов ...
Лихо Вы однако. Ну срезали.
Но ... функциональные возможности работы системы с данными, с точки зрения клиента, определяются совокупным множеством методов различных классов. Группируем эти методы и отбражаем на битовую линейку (индекс_класса,индекс_метода) --> номер_бита_линейки. Если клиент имеет соответствующее право, то имеет соответствующий бит линейки в 1. Что может быть проще?

С уважением, Владимир.
...
Рейтинг: 0 / 0
16.01.2008, 16:31
    #35066016
ренегат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Denis.Всем привет. Передомной стоит задача: отображать гуй в зависимости от прав юзера(прятать\дизейблить контролы). Тостый клиент. Гуи - отображение селетов из вьюшек. СУБД - оракл. Клиент не может коннектиться под системом.
Ну нифигасебе заявляения ;))))) Хотел бы я посмотреть на эту чудо систему, у которой SYSTEM
задействован как либо. Хорошо хоть не под SYS табличги создаете, право.

Denis.Просьба подсказать решение\паттерн\литературу как это умно реализовать. Заранее большое спасибо.
Нет тут никакой умной литературы.

А есть - нудная и трудоемкая работа, без которой - ну никак. Называется - привязка визуальных
контролов к правам (права же - это просто табличка, результат запроса, хоть из какого источнега).

Вот сидишь, и рисуешь, насколько ума у платформы хватит. Или enabled/disabled visible/unvisible на
кожен контрол вручную, или какой доработкой базовых контролов и форм, так шоп всех накрыть
одним точечным ударом (т.е. строкой кода).

В общем - как ни крути, но особого ума на всё это не надо - главное не забыть, что визиблинг и
энейблинг можно похакать очень даже легально через какой WinAPI - потому секьюрити нужно
всенепременно дублировать на серверном уровне.

Удачи.
...
Рейтинг: 0 / 0
16.01.2008, 17:38
    #35066323
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
ренегат +1
ВМоисеев>Petro123
> ... сервер нивелирован 3-х звенкой до простого скопища файлов ...
Лихо Вы однако. Ну срезали.
Но ... функциональные возможности работы системы с данными, с точки зрения клиента,

====== ты забыл, что клиент не Маша, а программист-прикладник в данном контексте

определяются совокупным множеством методов различных классов.

====== +

Группируем эти методы и отбражаем на битовую линейку (индекс_класса,индекс_метода) --> номер_бита_линейки.

====== - зачем? Может от ЯП высго уровня на машинный язык передём?

Если клиент имеет соответствующее право, то имеет соответствующий бит линейки в 1. Что может быть проще?

==== проще дефки за окном


С уважением, Владимир.
программисты давно разделились на системщиков и прикладников.
Для вторых биты, указатели, указатели на указатели, как бы не очень нужны.
Определись, что ты в первом эшелоне и пиши продукты подстать MyBD, MyAppServer, My_Traffik, ...

ЗЫ.
"Сложнее всего в мире достигнуть простоты - это крайняя граница опыта и последнее усилие гения".
George Sand.
...
Рейтинг: 0 / 0
17.01.2008, 10:35
    #35067406
DVE
DVE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
1.Роли и доступы как обычно.
2.На уровне бд реализуем граф (вершины, переходы)

по факту перехода в вершину отрабатывает процедура которая смотрит права доступа и возвращает на клиен инструкции по интерфейсу и процедуру при подтверждении. Ну а там на любом IDE создаем интерфейсы по "инструкциям"


В результате получаем что то типа Визардов.

огромный плюс в том, что если все продумать то можно уже будет особо не программировать, знай себе пиши переходы и процедурки и доступа правильно раздавай
...
Рейтинг: 0 / 0
17.01.2008, 11:29
    #35067636
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Спасибо, господа, а нет ли идей как сделать так, чтобы кнопки дизэйблились автаматически? К примеру на кнопке весит селект из вьюшки, в онлоаде прога проверяет есть ли доступ к данной вьюшке, и если его нет, то дизейблим контрол и к примеру сделать таблицу соответствия вьюшек и контролов, чтото в этом духе...?(или полное г?).
Вопрос в основном дотнетчикам: как думаете XAML поможет мне в решении данного вопроса?(Формирование интерфейса в заисимоти от привилегий)
...
Рейтинг: 0 / 0
17.01.2008, 11:35
    #35067666
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Denis.
К примеру на кнопке весит селект из вьюшки, в онлоаде прога проверяет есть ли доступ к данной вьюшке, и если его нет, то дизейблим контрол
не в этом проблема :)
Код: plaintext
1.
2.
3.
4.
try
  Query.Open
except // нет прав
  Кнопка.Засерься :))
end;
...
Рейтинг: 0 / 0
17.01.2008, 11:36
    #35067670
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
на XAML данный код наверно длиннее и изящнее )))
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
17.01.2008, 11:47
    #35067735
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Petro123
Код: plaintext
1.
2.
3.
4.
try
  Query.Open
except // нет прав
  Кнопка.Засерься :))
end;

скорее система максимум через полсекунды засерится, от таких проверок :)
...
Рейтинг: 0 / 0
17.01.2008, 12:13
    #35067877
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
iscrafm и правильно, т.к. у засранцев нет прав (нельзя узнать: "есть ли в магазине хлеб?" - не сходив туда)
:)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
17.01.2008, 12:18
    #35067903
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
неее.. загнется у правильных людей... кто его знает, что в том запросе и сколько он будет пытаться открыться. И то каждый раз на обновление акций или чего-то там подобного. :)
...
Рейтинг: 0 / 0
17.01.2008, 12:57
    #35068097
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
iscrafmнеее.. загнется у правильных людей... кто его знает, что в том запросе и сколько он будет пытаться открыться. И то каждый раз на обновление акций или чего-то там подобного. :)
конечно, есть ньюансы, но идти надо от простого к сложному, а не наоборот. Как сказал "грекси": "все делают ручками - нет универсального на клиенте". Вот в БД есть, в книжках пишут.
....
А то сразу XAML, и такого наворотим....
...
Рейтинг: 0 / 0
17.01.2008, 13:03
    #35068128
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
> Как сказал "грекси"

А это кто?
...
Рейтинг: 0 / 0
17.01.2008, 14:05
    #35068425
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование интерфейса в заисимоти от привилегий
Denis.Спасибо, господа, а нет ли идей как сделать так, чтобы кнопки дизэйблились автаматически?
При создании формы (или правильнее даже чуть позже, когда форма полностью инициализируется, но до ее показа, ровно один раз) выполняете селект, который вернет все "запрещенное", потом все это запрещенное запрещаете в зависимости от вида элемента управления и вида запрета.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Формирование интерфейса в заисимоти от привилегий / 25 сообщений из 70, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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