2011-12-09 1 views
0

Nous avons un modèle XML Publisher qui utilise une requête (gestionnaire de requêtes intégré) comme source de données. La requête utilise une vue personnalisée contenant des données confidentielles. Le rapport doit être utilisé par les gestionnaires pour afficher des informations sur leurs rapports directs - ceci est accompli en définissant des paramètres sur la page. Puisque nous devons mettre l'enregistrement à la disposition de Query, tout gestionnaire qui a également l'autorisation d'écrire des requêtes peut également voir l'enregistrement, et donc les données sur les employés autres que ceux qui leur rapportent. La requête doit également être publique, elle sera donc également accessible à toute personne ayant accès aux requêtes. Nous aimerions pouvoir:PeopleSoft XML Publisher - Requête de sécurité

  1. Faire la requête uniquement disponible via la page (je pense que j'ai celui - la page passera un paramètre supplémentaire qui sera comparée à la clause WHERE de la requête)

  2. Masquer l'enregistrement personnalisé de personne mais la requête/rapport

Nous ne pouvons pas utiliser la sécurité au niveau de la ligne typique en tant que directeur général ne devrait être en mesure de voir les gens qui rendent compte des pour eux.

Merci

Répondre

0

Pour activer la sécurité sur les données affichées lorsqu'un utilisateur tente d'interroger un enregistrement particulier (à l'aide du gestionnaire de requêtes), vous pouvez: utilisez un enregistrement de sécurité de requête dans lequel vous pouvez vérifier l'utilisateur qui tente d'accéder aux données. Généralement, une vue dynamique est utilisée ici, dans laquelle vous pouvez vérifier l'OPRID essayant d'accéder aux données, et par conséquent servir les données. Querymanager récupère automatiquement l'enregistrement de sécurité de la requête dans le SQL.

0

Je n'ai pas utilisé beaucoup XML Publisher, mais j'ai dû faire quelque chose de similaire à ce (moins l'exigence de confidentialité).

Est-ce que toutes les personnes qui travaillent sous un gestionnaire sont configurées sous le même ID de service? La table PSOPRDEFN stocke OPRIDs/ID utilisateur qui correspondent à EmplIDs, et vous pouvez lier cela à la table JOB pour obtenir le DeptID pour l'ID d'emplide.

Définissez donc un critère sur la requête comme étant quelque chose qui le limite à l'ID de département de l'utilisateur actuel. J'ai trouvé la syntaxe sur la façon de faire cela dans Oracle 10g, mais cela ne semble pas fonctionner pour 11g quand je l'essaie. http://www.techonthenet.com/oracle/functions/user.php http://www.techonthenet.com/oracle/functions/sys_context.php