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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

====== +

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

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

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

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


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

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

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


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

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

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

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


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