PS安全-sql获取导航列表

问题描述 投票:0回答:1

SQL Server 是否可以获取给定角色的导航列表?

  1. 获取该角色下列出的所有权限
  2. 对于每个权限,获取页面
  3. 对于每个页面/菜单名称,获取授权组件的列表
  4. 对于每个组件列表,获取 PS 导航

用 qry manager 尝试过,但不起作用

peoplesoft peoplesoft-app-engine peoplesoft-query
1个回答
0
投票

是的,如果您想要完整的菜单路径,这可以使用 SQL 完成,但不能在 PSQUERY 中完成

  1. 获取该角色下列出的所有权限

在表中找到:PSROLECLASS

  1. 对于每个权限,获取页面

在表中找到:PSAUTHITEM

  1. 对于每个页面/菜单名称,获取授权组件的列表

在表中找到:PSMENUITEM

  1. 对于每个组件列表,获取 PS 导航

内容参考可在 PSPRRSMDEFN 中找到。

要加入的领域:

PORTAL_URI_SEG1 = 菜单名称

PORTAL_URI_SEG2 = 组件

如果您想要完整的导航路径(例如:Root-> PeopleTools-> Security-> Permissions and Roles-> Permission Lists),这是一个更复杂的查询。我最终使用了一个 CTE,其中包含对 PSPRSMDEFN 的递归查询。一旦我将 CTE 添加到上面的表中,就能够创建与您想要的类似的东西。我建议添加选项(MAXRECURSION 20);提示您的递归查询,以确保您在开发时不会遇到麻烦

© www.soinside.com 2019 - 2024. All rights reserved.