|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Всем привет. Передомной стоит задача: отображать гуй в зависимости от прав юзера(прятать\дизейблить контролы). Тостый клиент. Гуи - отображение селетов из вьюшек. СУБД - оракл. Клиент не может коннектиться под системом. Просьба подсказать решение\паттерн\литературу как это умно реализовать. Заранее большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2008, 15:44 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
попробуй методу описанную здесь тыц ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2008, 17:43 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
у меня построено в xml контролов - и в зависиомти от условий я меняю или язык или степень доступности - очень удобно и просто. В контуркторе каждой формы ставишь вызов проверки всехусловий и аттрибутов формы ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2008, 10:13 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Lepsikу меня построено в xml контролов - и в зависиомти от условий я меняю или язык или степень доступности - очень удобно и просто. В контуркторе каждой формы ставишь вызов проверки всехусловий и аттрибутов формы если коннект из другой проги, то полные права? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2008, 10:36 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2008, 15:04 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
>Denis. > ... отображать гуй в зависимости от прав юзера ... Допустим, что Вы можете разбить (сгруппировать) ресурсы (прятать\дизейблить контролы) на группы и число получившехся групп <2K (например). За каждой группой закрепляете один бит. Биты группируются в линейку (256 байт). Линейка - поле в таблице клиентов. При авторизации клиента, клиентское приложение получает битовую линейку. В поле Tag (например) пишешь индекс группы доступа. Если бит в линейке с индексом группы = 0, то прячешь\дизейблируешь контрол. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2008, 16:31 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
ВМоисеев За каждой группой закрепляете один бит. Биты группируются в линейку (256 байт). сейчас биты никто несчитает. Наоборот, в ООП за командой назначают класс Команда (шаблон программирования Command). И т.д. У всех методов здесь один недостаток - безоп.на клиенте ущербна тем, что сервер ей незанимается. Зайди на Access'e в БД и увидишь всё без контролов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2008, 09:50 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Petro123Зайди на Access'e в БД и увидишь всё без контролов.Верно, но даже при полной серверной защите есть еще вопрос юзабилити - зачем пользователю давать возможность нажимать кнопку, по которой он заведомо получит фигвам? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2008, 12:50 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
ModelR Petro123Зайди на Access'e в БД и увидишь всё без контролов.Верно, но даже при полной серверной защите есть еще вопрос юзабилити - зачем пользователю давать возможность нажимать кнопку, по которой он заведомо получит фигвам? я не люблю прыгающих-появляющихся кнопок ( за редким исключением ). Прога ведёт себя "в угадайку". IMHO Я за "серенькие" кнопки и за "... Ничего не выделено (с Фотошоп)" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2008, 14:00 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
и потом, редко бывает ОДНА форма для разных функ.рабочих мест с кучей ДА-НЕТ контролов. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2008, 14:02 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
>Petro123 >сейчас биты никто несчитает... безоп.на клиенте ущербна тем ... >ModelR > ... зачем пользователю давать возможность ... В схеме прототипа ( здесь ) эти требования разрешены так: 1. Клиенты всех типов (администраторы, гости, обычные) определены в системе вместе с их правами (есть запись в таблице клиентов, включающяя 128 байтов поля binary - на данный момент- права) 2. Клиент любого типа может открыть любое (были бы ресурсы) число сессий. 3. Сессия строится так,- клиентское приложение посылает информацию аутентификации серверу приложений СП (используется ассимметрино-симметричная криптография) и если всё хорошо, то СП создаёт сессиию - запись в таблицу сессий - и передает права клиентскому приложению. Эти же права находятся и в клиентской сессионной записи. 4. Клиентское приложение анализируя линейку прав, управляет контролами. 5. Для выполнения операций с данными, клиентское приложение, посылает сообщение-запрос серверу приложения (индекс_сессии+индекс_класса + индекс_метода_в_классе + сериализованные_параметры). Анализируя запрос СП читает и права клиента из поля записи таблицы сессий. Если выполнение данного типа запроса запрещено, то клиент получит не штатную ситуацию. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2008, 17:51 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
ВМоисеев топик был о простых решениях. У Вас, же сервер нивелирован 3-х звенкой до простого скопища файлов для среднего звена. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2008, 09:26 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
>Petro123 > ... сервер нивелирован 3-х звенкой до простого скопища файлов ... Лихо Вы однако. Ну срезали. Но ... функциональные возможности работы системы с данными, с точки зрения клиента, определяются совокупным множеством методов различных классов. Группируем эти методы и отбражаем на битовую линейку (индекс_класса,индекс_метода) --> номер_бита_линейки. Если клиент имеет соответствующее право, то имеет соответствующий бит линейки в 1. Что может быть проще? С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2008, 16:18 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Denis.Всем привет. Передомной стоит задача: отображать гуй в зависимости от прав юзера(прятать\дизейблить контролы). Тостый клиент. Гуи - отображение селетов из вьюшек. СУБД - оракл. Клиент не может коннектиться под системом. Ну нифигасебе заявляения ;))))) Хотел бы я посмотреть на эту чудо систему, у которой SYSTEM задействован как либо. Хорошо хоть не под SYS табличги создаете, право. Denis.Просьба подсказать решение\паттерн\литературу как это умно реализовать. Заранее большое спасибо. Нет тут никакой умной литературы. А есть - нудная и трудоемкая работа, без которой - ну никак. Называется - привязка визуальных контролов к правам (права же - это просто табличка, результат запроса, хоть из какого источнега). Вот сидишь, и рисуешь, насколько ума у платформы хватит. Или enabled/disabled visible/unvisible на кожен контрол вручную, или какой доработкой базовых контролов и форм, так шоп всех накрыть одним точечным ударом (т.е. строкой кода). В общем - как ни крути, но особого ума на всё это не надо - главное не забыть, что визиблинг и энейблинг можно похакать очень даже легально через какой WinAPI - потому секьюрити нужно всенепременно дублировать на серверном уровне. Удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2008, 16:31 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
ренегат +1 ВМоисеев>Petro123 > ... сервер нивелирован 3-х звенкой до простого скопища файлов ... Лихо Вы однако. Ну срезали. Но ... функциональные возможности работы системы с данными, с точки зрения клиента, ====== ты забыл, что клиент не Маша, а программист-прикладник в данном контексте определяются совокупным множеством методов различных классов. ====== + Группируем эти методы и отбражаем на битовую линейку (индекс_класса,индекс_метода) --> номер_бита_линейки. ====== - зачем? Может от ЯП высго уровня на машинный язык передём? Если клиент имеет соответствующее право, то имеет соответствующий бит линейки в 1. Что может быть проще? ==== проще дефки за окном С уважением, Владимир. программисты давно разделились на системщиков и прикладников. Для вторых биты, указатели, указатели на указатели, как бы не очень нужны. Определись, что ты в первом эшелоне и пиши продукты подстать MyBD, MyAppServer, My_Traffik, ... ЗЫ. "Сложнее всего в мире достигнуть простоты - это крайняя граница опыта и последнее усилие гения". George Sand. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2008, 17:38 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
1.Роли и доступы как обычно. 2.На уровне бд реализуем граф (вершины, переходы) по факту перехода в вершину отрабатывает процедура которая смотрит права доступа и возвращает на клиен инструкции по интерфейсу и процедуру при подтверждении. Ну а там на любом IDE создаем интерфейсы по "инструкциям" В результате получаем что то типа Визардов. огромный плюс в том, что если все продумать то можно уже будет особо не программировать, знай себе пиши переходы и процедурки и доступа правильно раздавай ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 10:35 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Спасибо, господа, а нет ли идей как сделать так, чтобы кнопки дизэйблились автаматически? К примеру на кнопке весит селект из вьюшки, в онлоаде прога проверяет есть ли доступ к данной вьюшке, и если его нет, то дизейблим контрол и к примеру сделать таблицу соответствия вьюшек и контролов, чтото в этом духе...?(или полное г?). Вопрос в основном дотнетчикам: как думаете XAML поможет мне в решении данного вопроса?(Формирование интерфейса в заисимоти от привилегий) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 11:29 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Denis. К примеру на кнопке весит селект из вьюшки, в онлоаде прога проверяет есть ли доступ к данной вьюшке, и если его нет, то дизейблим контрол не в этом проблема :) Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 11:35 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
на XAML данный код наверно длиннее и изящнее ))) ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 11:36 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Petro123 Код: plaintext 1. 2. 3. 4.
скорее система максимум через полсекунды засерится, от таких проверок :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 11:47 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
iscrafm и правильно, т.к. у засранцев нет прав (нельзя узнать: "есть ли в магазине хлеб?" - не сходив туда) :) ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 12:13 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
неее.. загнется у правильных людей... кто его знает, что в том запросе и сколько он будет пытаться открыться. И то каждый раз на обновление акций или чего-то там подобного. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 12:18 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
iscrafmнеее.. загнется у правильных людей... кто его знает, что в том запросе и сколько он будет пытаться открыться. И то каждый раз на обновление акций или чего-то там подобного. :) конечно, есть ньюансы, но идти надо от простого к сложному, а не наоборот. Как сказал "грекси": "все делают ручками - нет универсального на клиенте". Вот в БД есть, в книжках пишут. .... А то сразу XAML, и такого наворотим.... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 12:57 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
> Как сказал "грекси" А это кто? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 13:03 |
|
Формирование интерфейса в заисимоти от привилегий
|
|||
---|---|---|---|
#18+
Denis.Спасибо, господа, а нет ли идей как сделать так, чтобы кнопки дизэйблились автаматически? При создании формы (или правильнее даже чуть позже, когда форма полностью инициализируется, но до ее показа, ровно один раз) выполняете селект, который вернет все "запрещенное", потом все это запрещенное запрещаете в зависимости от вида элемента управления и вида запрета. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2008, 14:05 |
|
|
start [/forum/topic.php?fid=33&msg=35064357&tid=1548892]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 153ms |
0 / 0 |