|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Всем доброго времени, подскажите, пожалуйста, на форме есть две кнопки, в AD три группы (группа1, группа2, группа3), вхождение в группы не только напрямую людей, но и через вложенные подгруппы (в группу1 входит группаПрограммисты в которую в свою очередь еще несколько групп) как правильно организовать чтобы люди которые входят в группу1 видят кнопку1, в группу2 видят кнопку2, группу3 видят все кнопки. Просто перебором считаю не совсем правильно, может есть какой то более простой способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 09:33 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Что-нибудь типа Thread.CurrentPrincipal.IsInRole(...). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 09:38 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudin, Если вопрос про дизайн, то сделать дерево. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 09:39 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Нет не про дизайн а про код, как приложению определить что показать текущему пользователю ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 11:03 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudinНет не про дизайн а про код, как приложению определить что показать текущему пользователю Отнаследуйся от кнопки, добавь к ней свойством список ролей, которым она видна и используй уже отнаследованную. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 11:22 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudinНет не про дизайн а про код, как приложению определить что показать текущему пользователюочень много вариантов ответа: 1. Не проектировать форму сразу на уборщицу и главбуха. То есть динамика скрытых элементов 1-3 процента. Остальные всегда видны в дданном АРМ. 2.Перед показом поверять по своему методу IsVisible(Control) который и проверит рекурсией все права по дереву разрешений. 3. Данный метод кешируется. То есть вычисляет один раз при коннекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 11:24 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudin, 4. Права даются на ДЕЙСТВИЯ а не на видимость контролов. Прэтому, видимость есть или нет вторично. Даже если кнопка Удалить появилась, у тебя должно быть райзе при нажатии и выдача ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 11:27 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Спасибо за помощь, к сожалению начальство требует делать именно видимость контролов, а не на действие ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 11:49 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudinСпасибо за помощь, к сожалению начальство требует делать именно видимость контролов, а не на действие На действие, как раз, сделать элементарно, встроенным механизмом role access security - просто аттрибут нужный на метод добавляешь и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 12:02 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudinСпасибо за помощь, к сожалению начальство требует делать именно видимость контролов, а не на действие суть в том, что если вы просто скроете кнопку, то злоумышленник может найти скрытую кнопку и сделать её видимой или просто вызывать код, который эта кнопка вызывает, это не составит большего труда, даже для очень неопытного "кул хацкера" и после этого нажмет на неё. Скрывать дело хорошее, но права должны быть именно на выполнение, а скрытие это просто фича ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 12:20 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudinСпасибо за помощь, к сожалению начальство требует делать именно видимость контролов, а не на действиеесли нужны скилы на будущее, то во вне рабочее время сделай защиту на действие. Результат начальству. Тебе премия. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 12:25 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
fkthatMikhailZudinСпасибо за помощь, к сожалению начальство требует делать именно видимость контролов, а не на действие На действие, как раз, сделать элементарно, встроенным механизмом role access security - просто аттрибут нужный на метод добавляешь и все. а где поподробнее можно про role access security почитать не подскажите все что на вскидку нашел мало информации, может кто подскажет где почитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 12:36 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudin, https://docs.microsoft.com/ru-ru/dotnet/api/system.security.permissions.principalpermissionattribute?view=netframework-4.8 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 12:45 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudin, Нужен ваш код аутентификации для поиска примеров. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 12:59 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Petro123MikhailZudin, Нужен ваш код аутентификации для поиска примеров. Как это у разработчика Больших Десктопных Приложений нет под рукой готовых примеров на этот случай? Очень странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 13:10 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
skyANA, Тьфу на вас. Аффтар, смотри что скажет ваш начальник. ШефЕсли вы напишите метод: РазрешеноУдалитьЮзверь(id); То вы потом можете его вставить хоть в Control.visible, хоть первой строкой в сам метод. Вы написали метод? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 13:42 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Petro123skyANA, Тьфу на вас. Аффтар, смотри что скажет ваш начальник. ШефЕсли вы напишите метод: РазрешеноУдалитьЮзверь(id); То вы потом можете его вставить хоть в Control.visible, хоть первой строкой в сам метод. Вы написали метод? А если три кнопки: "Добавить", "Редактировать", "Удалить", - то три метода писать? А что внутри этих методов, как их связать с AD и тремя группами (группа1, группа2, группа3), ты в курсе? Судя по тому, что ты предлагаешь некий id передавать в качестве параметра... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:21 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
У нас есть программа написанная в доисторические времена на FoxPro 9, запароленная, т.е. пользователь при запуске вводит свой логин-пароль данная связка получает код доступа по нему идет ограничения в программе, начальство заставило переписать программу на C#, переписал, сейчас им не нравится данная система аутентификации, они хотят чтобы сисадмины включало людей в группы, и от этих групп пользователи могли видеть-делать свои определенные операции, т.е люди входящие в группу бухгалтерия могут и вводить и редактировать данные, группа начальники только просматривать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:31 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Roman MejtesMikhailZudin, https://docs.microsoft.com/ru-ru/dotnet/api/system.security.permissions.principalpermissionattribute?view=netframework-4.8 спасибо, сейчас почитаю ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:32 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudin, Вы уже сделали код аутентификации по ролям из AD? Роли точно в AD уже сейчас и не у вас в программе? Вы получаете список ролей из AD? ... Если 3 ДА, то рецепт тот же. Написать метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:36 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudinУ нас есть программа написанная в доисторические времена на FoxPro 9, запароленная, т.е. пользователь при запуске вводит свой логин-пароль данная связка получает код доступа по нему идет ограничения в программе, начальство заставило переписать программу на C#, переписал, сейчас им не нравится данная система аутентификации, они хотят чтобы сисадмины включало людей в группы, и от этих групп пользователи могли видеть-делать свои определенные операции, т.е люди входящие в группу бухгалтерия могут и вводить и редактировать данные, группа начальники только просматривать Объясни начальству, что это бред, если пользователь все равно имеет доступ к ресурсу, на уровне защиты этого самого ресурса, то защищать это пряча кнопки на форме - это вообще не защита. В твоем случае начинать надо с разграничения прав доступа в БД, а кнопки показывать/прятать уже как украшение - просто чтобы пользователь зря не жмакал туда, куда ему все равно дорога закрыта. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:37 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
Как у меня сейчас построено: проверяю входит текущий пользователь входит ли в определенную группу в AD, если да то показываю определенные контролы, в MSSQL доступ идет по этим же группам. Мне самому не нравится данный подход, т.к. системные администраторы, редко но иногда меняют имя группы , тогда слетает метод проверки вхождения пользователя в группе, соответственно приходится переписывать код. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:45 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudinгруппа начальники только просматриватьнаписать метод Код: c# 1.
30 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:47 |
|
Доступ к контролам через группы AD
|
|||
---|---|---|---|
#18+
MikhailZudin, Имя роли не должны менять. Спрашивай у шефа. Ждём) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 14:49 |
|
|
start [/forum/topic.php?fid=20&msg=39812409&tid=1398950]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
129ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 256ms |
total: | 484ms |
0 / 0 |