Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Коллеги привет
Требуется разным пользователям внутри одного приложения Sense разграничить доступ к листам.
Подскажите пожалуйста методы реализации:
Из того что нашел на комьюнини - статейка, где кастомизируется Security Rules:
В 2х словах там отключается стандартное правило безопасности для потока и пишется свое альтернаривное
Кто это делал, шли таким же путем?
Просто в QlikView это в пару шагов через условие показа делается 😕
В QlikView, строго говоря, не существует "разграничения доступа" к листам и другим объектам визуализации.
Упомянутый вариант использования для этого "условий отображения" объектов - это не разграничение доступа к объектам в целом. Это лишь условие отображения, как и следует из его названия.
Встроенных свойств "условий отображения" объектов в Qlik Sense пока нет.
Упомянутый в Qlik Sense вариант разграничения доступа к объектам через Seurity Rules - это полноценный вариант разграничения именно на уровне безопасности движка Qlik. С его помощью к объекту можно ограничить доступ гарантированно, т.е. сделать его независимым от способа доступа:
Владимир, здравствуй!
Я похоже делал.
1. Стандартное правило Stream заменил на такое:
(resource.resourcetype = "App"
and resource.stream.HasPrivilege("read"))
or
(resource.resourcetype = "App.Object"
and resource.published ="true"
and resource.objectType != "app_appscript"
and resource.objectType != "loadmodel"
and resource.app.stream.HasPrivilege("read")
and (!(user.@userAccess matches "?*") or resource.objecttype != "sheet"))
2. Добавил кастомное свойство userAccess для пользователей.
3. Создал правило для отдела продаж:
((resource.resourcetype = "App"
and resource.stream.HasPrivilege("read"))
or
(resource.resourcetype = "App.Object"
and resource.published ="true"
and resource.app.stream.HasPrivilege("read")
and resource.objecttype="sheet"
and resource.name like "*(s)*"
))
and user.@userAccess="sales"
4. Далее, все пользователи, у которых свойство userAccess заполнено и равно "sales" видят только те листы, у которых в названии есть "(s)". Например, "Анализ продаж (s)".
P.S. Это всё применимо, если у пользователей нет доступа к редактированию листов.
Спасибо, интересный вариант с наименованиями отчетов!!!
Иван можете это расшифровать (!(user.@userAccess matches "?*")
!(user.@userAccess matches "?*") означает "свойство userAccess не задано", т.е. в нём нет ни одного символа.