PeopleSoft XML Publisher - Безопасность запросов - PullRequest
0 голосов
/ 09 декабря 2011

У нас есть шаблон XML Publisher, который использует запрос (встроенный в диспетчер запросов) в качестве источника данных. В запросе используется настраиваемое представление, содержащее конфиденциальные данные. Отчет должен использоваться менеджерами для просмотра информации в их прямых отчетах - это достигается путем настройки параметров на странице. Поскольку мы должны сделать запись доступной для Query, любой менеджер, который также имеет разрешение на написание запросов, также может видеть эту запись и, следовательно, данные о сотрудниках, отличных от тех, которые им отчитываются. Запрос также должен быть общедоступным, поэтому он также будет доступен любому, у кого есть доступ к выполнению запросов. Мы хотели бы иметь возможность:

  1. Сделать запрос доступным только через страницу (я думаю, у меня есть этот - страница будет передавать дополнительный параметр, который будет сравниваться с предложением WHERE запроса)

  2. Скрыть пользовательскую запись от кого-либо, кроме запроса / отчета

Мы не можем использовать типичную защиту на уровне строк, так как генеральный менеджер должен видеть только людей, которые отчитываются перед ними.

Спасибо

Ответы [ 2 ]

0 голосов
/ 08 мая 2012

Чтобы включить защиту данных, которые отображаются при попытке пользователя выполнить запрос к определенной записи (с помощью диспетчера запросов), вы можете использовать запись безопасности запроса, в которой вы можете проверить пользователя, который пытается получить доступ к данным. , Обычно здесь используется динамическое представление, в котором вы можете проверить OPRID, пытаясь получить доступ к данным, и соответственно обработать данные. Querymanager автоматически выбирает запись безопасности запроса в sql.

0 голосов
/ 13 января 2012

Я не очень часто использовал XML Publisher, но мне пришлось сделать что-то похожее на это (минус требование конфиденциальности).

Все ли люди, работающие под руководством менеджера, настроены под одним и тем же идентификатором отдела?В таблице PSOPRDEFN хранятся OPRID / идентификаторы пользователей, которые сопоставляются с EmplID, и вы можете связать их с таблицей JOB, чтобы получить DeptID для EmplID.

Итак, установите критерий для запроса, который будет ограничивать его идентификатором отдела текущего пользователя.Я нашел синтаксис, как это сделать в Oracle 10g, но, похоже, он не работает для 11g, когда я пытаюсь это сделать.http://www.techonthenet.com/oracle/functions/user.php http://www.techonthenet.com/oracle/functions/sys_context.php

...