![]() |
![]() |
|
|
| |||||||||
OldCondom 25.07.18 - 10:46 |
Извечный вопрос.
Всегда использовал конструкцию "и РольДоступна("ПолныеПрава"). Но тут возник спор с саповцами, что нарушаем саму парадигму разграничения прав(сам ни**я не понял). В целом, правда похоже на костыль дополнительная проверка на полные права. Допустим, надо всем ограничить доступ к справочнику, если нет прав "МожноРедактироватьЭтотСправочник". Как правильнее? [1c]Если РольДоступна("МожноРедактироватьЭтотСправочник") или РольДоступна("ПолныеПрава") [/1c] или [1c]Если ПравоДоступа("Изменение", Метаданные.Справочники.ЭтотСправочник)[/1c] ? | |||||||||
OldCondom 1 - 25.07.18 - 10:48 | Не понял, откуда здесь голосовалка? | |||||||||
lodger 2 - 25.07.18 - 10:53 | ПравоДоступа позволяет рулить правами из одного окна с ролями, тогда как РольДоступна заставляет тебя носится по коду и искать вызовы функции. | |||||||||
lodger 3 - 25.07.18 - 10:53 | имхо, РольДоступна только для совместимости со старыми конфами нужна. 2. ПравоДоступа | |||||||||
rphosts 4 - 25.07.18 - 10:54 | (1) ну а как ты определишь предпочтения среди дочитавших до конца нулевой пост? | |||||||||
OldCondom 5 - 25.07.18 - 10:58 | (4) а, понял. Я думал это что-то нажал и оно само(с).
А по вопросу, я бы хотел уяснить, как правильно, желательно со ссылками на одноэс. Понимаю, что "правильно" - понятие растяжимое и будет немного каша, но все же какое-то понятие хочется усвоить. | |||||||||
Serg_1960 6 - 25.07.18 - 11:07 | (0) А что тут не понятно? Пользователю может быть назначено несколько ролей и к конкретному объекту он может иметь конкретные права доступа на основании их. В зависимости от цели алгоритма можно требование наличие у пользователя конкретной роли (или совокупности их), но это нарушает сам принцип разграничения прав.
Ваш "саповец", в принципе, прав - вспомните об RLS. | |||||||||
Локи-13 7 - 25.07.18 - 11:11 | (0) Зависит от задачи.
Право доступа у него может быть, а вот роли нет. Что тогда? Давать доступ или нет? Это две разные функции для разных задач. ПравоДоступа - проверяем перед выполнением операции с БД, чтобы не получить ошибку. РольДоступна - проверка по бизнес-процессу. У роли может вообще не быть галочек к объектам. 3. Другое | |||||||||
Serg_1960 8 - 25.07.18 - 11:22 | (7) "У роли может вообще не быть галочек к объектам" - эээ... то есть роль в качестве логического значения? Не эффективно, имхо, но имеет право быть. | |||||||||
lodger 9 - 25.07.18 - 11:24 | (7) для таких кейсов придумали привилегированный режим\модуль. | |||||||||
Cthulhu 10 - 25.07.18 - 11:29 | (7) угумц.. утрированно - возможность и способ, что нужно проверять - зависит от контекста. 3. Другое Рекламное место пустует | |||||||||
ildary 11 - 25.07.18 - 11:32 | А как быть с РольДоступна("ПолныеПрава") - у него разве есть аналоги? | |||||||||
Локи-13 12 - 25.07.18 - 11:32 | (9) причем тут привилегированный модель? | |||||||||
Локи-13 13 - 25.07.18 - 11:34 | ||||||||||
Дебет 14 - 25.07.18 - 11:46 | написано же на ИТС про это | |||||||||
VladZ 15 - 25.07.18 - 11:48 | (0) Зависит от задачи. И это... Совет: не спорь с САПовцами. У них свои тараканы в голове. | |||||||||
Timon1405 16 - 25.07.18 - 12:12 | переделайте пункты в голосовалке:
-Роль я дрожащая или -право имею | |||||||||
rastat150 17 - 25.07.18 - 12:13 | https://its.1c.ru/db/v8std/content/2149184386/hdoc
Для проверки прав доступа в коде следует использовать метод ПравоДоступа. Например, неправильно: Если РольДоступна("ДобавлениеИзменениеСтранМира") Тогда ... Если РольДоступна("ПросмотрОтчетаПопулярныеСтраны") Тогда ... правильно: Если ПравоДоступа("Редактирование", Метаданные.Справочники.СтраныМира) Тогда ... Если ПравоДоступа("Просмотр", Метаданные.Отчеты.ПопулярныеСтраны) Тогда ... Такой подход позволяет повысить устойчивость кода к пересмотру состава ролей в конфигурации. 4. В тех случаях, где роль не дает никаких прав на объекты метаданных, а служит только для определения того или иного дополнительного права, следует использовать метод РольДоступна. При использовании в конфигурации Библиотеки стандартных подсистем (БСП) следует использовать функцию РолиДоступны общего модуля Пользователи: Например, без использования БСП: Если РольДоступна(...) Или <ЭтоПолноправныйПользователь> Или ПривилегированныйРежим() Тогда ... Либо аналогичная проверка с использованием БСП: Если Пользователи.РолиДоступны(...) Тогда ... | |||||||||
Tonik992 18 - 25.07.18 - 12:16 | ||||||||||
OldCondom 19 - 25.07.18 - 12:20 | ||||||||||
Cool_Profi 20 - 25.07.18 - 12:35 | (17) @Либо аналогичная проверка с использованием БСП:@
За использование БСП нужно лицом к стенке и пулю в лоб... | |||||||||
ildary 21 - 25.07.18 - 12:37 | (20) А как быть с типовыми? Отказаться от БСП и постоянно костылить своё? | |||||||||
MUXACb 22 - 25.07.18 - 12:41 | (17) Не работает если нужно проверить наличие запрещающей роли у пользователя с полными правами | |||||||||
Tonik992 23 - 25.07.18 - 12:47 | (22) Запрещающая роль?
А можете пример привести. Никогда не приходился стакливаться с выдачей роли, которая что-то бы запрещала. | |||||||||
ildary 24 - 25.07.18 - 12:50 | ||||||||||
MUXACb 25 - 25.07.18 - 12:51 | ||||||||||
Мандалай 26 - 25.07.18 - 12:57 | Читаем стандарты разработки 2. ПравоДоступа | |||||||||
MUXACb 27 - 25.07.18 - 13:11 | ||||||||||
YaFedor 28 - 25.07.18 - 13:14 | (27) Не существует "запрещающих" ролей в 1с 8, а жаль | |||||||||
Tonik992 29 - 25.07.18 - 15:03 | (28) Зато существует "запрещающая проверка" на наличие роли :-) | |||||||||
YaFedor 30 - 25.07.18 - 15:37 | ||||||||||
Мандалай 31 - 25.07.18 - 15:43 | (27)Значит неверная архитектура решения, если требуется применять методику, нерекомендованную вендором. | |||||||||
Nikoss 32 - 20.11.18 - 11:21 | А когда темы в архив сдаются? почти 4 месяца теме...
из (17) [не рекомендуется использовать ролевую настройку видимости в элементах форм] так а нахрена они вообще сделали эту возможность? | |||||||||
Остап Сулейманович 33 - 20.11.18 - 11:23 | (32) Рулить нужно доступностью, а не видимостью. Причин много. | |||||||||
Nikoss 34 - 20.11.18 - 11:49 | (33) можно подробнее про причин много?
так зачем в платформе 1С дают возможно делать то, что не рекомендует делать таже 1С? | |||||||||
Cyberhawk 35 - 20.11.18 - 11:58 | (34) Не слушай его. На ИТС в том пункте речь только о корневых подсистемах и начальной страницы. Про формы объектов там конечно же речи нет и видимость по ролям использовать можно и нужно. | |||||||||
Nikoss 36 - 20.11.18 - 14:12 | (35) По тексту речь как раз о формах объектов:
1. В случае большого количества ролей в конфигурации (от нескольких десятков) не рекомендуется использовать ролевую настройку видимости в элементах форм (просмотр и редактирование реквизитов по ролям, пользовательскую видимость полей формы по ролям, использование команд по ролям). Вместо этого следует придерживаться следующих подходов: ..... | |||||||||
Cyberhawk 37 - 20.11.18 - 14:16 | (36) Этот пункт только про значительное количество ролей и про то, что вместо этого (в случае большого количества) надо использовать проверку кодом | |||||||||
Nikoss 38 - 20.11.18 - 14:29 | (37) несколько десятков ролей наверное даже в самописках уже нормой считается. Поэтому, видимо, можно брать за правило этот пункт. | |||||||||
Cyberhawk 39 - 20.11.18 - 14:30 | (38) Скорее не на абсолютное количество надо смотреть, а на их "качество": если это атомарные роли (где на каждый справочник или документ как минимум две роли - отдельно на просмотр и отдельно на добавление+изменение), тогда про видимость по ролям на формах объектов можно забыть | |||||||||
Cyberhawk 40 - 20.11.18 - 14:31 | А если это "функциональные" роли (прям по должностям, например), тогда видимость по ролям хорошо заходит | |||||||||
Вафель 41 - 20.11.18 - 14:55 | видимость по ролям очень сложно отлаживать | |||||||||
Вафель 42 - 20.11.18 - 14:56 | поэтому видимость лучше в коде. кстате по этой же причине 1с рекомендует условное оформление в коде | |||||||||
Nikoss 43 - 21.11.18 - 07:50 |
|
Список тем форума |
Правила | Описание | Реклама на форуме | Волшебные решения | Поиск | Секции | Рейтинг | Книга знаний | Вики-миста (КЗ2) | Мобильная | Архив | Модераторы | Галерея | Регистрация | 18+ |