Apex导航菜单权限动态分配的实现

改动之处

return is_have_permission_wxx(V('WXX_USER_ID'), 2,V('WXX_ROLE_ID'));       

 改之后

return is_have_permission_wxx(V('USER_ID'), 2,V('ROLE_ID'));

 

创建新的动态菜单“动态菜单1”

共享组件→列表→创建→动态

select
     level,
    m1.NAME label,
    'f?p=&'||'APP_ID.:'||m1.PAGE_ID||':&'||'SESSION.::&'||'DEBUG.::::' target,
    null IS_CURRENT
from PERM_TEST_WXX2 m1
where m1.APP_ID = V('APP_CODE')  and m1.IS_ENABLE = 0 and PERM_ID in (
    select m2.PERM_ID as PERM_ID from ROLE_PERM_TEST_WXX rma1
    join PERM_TEST_WXX2 m2
        on rma1.PERM_ID = m2.PERM_ID
    where rma1.ROLE_ID = :ROLEID and m2.PERM_ID is not null
    union
    select rma2.PERM_ID from ROLE_PERM_TEST_WXX rma2 where rma2.ROLE_ID = :ROLEID
    )
start with m1.PARENT_ID is null
connect by prior m1.PAGE_ID = m1.PERM_ID
order siblings by m1.UPDATE_DATE;

结果一运行直接不不显示主页以外的其他界面

 也许是我配置的问题

没加限制之前

 加上限制条件反而显示得更少了

#############################################################

前情提要

APEX内置验证与授权管理_王小小鸭的博客-CSDN博客icon-default.png?t=N6B9https://blog.csdn.net/clover_oreo/article/details/132429705?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132429705%22%2C%22source%22%3A%22clover_oreo%22%7D

→真正的解决

列表CKU_MENU_WXX存档

select * from ck_menu_v 
where page_id in (
    select distinct page_id from SYS_USER_ROLE_PAGE_WXX_V where user_name = :APP_USER 
)

回去查看内容

刚刚去查了,一个用户对应一个角色,一个角色有多个权限页面

select USER_ID,
       USER_NAME,
       ROLE_ID,
       ROLE_NAME,
       PERM_ID,
       PERM_NAME,
       APP_ID,
       PAGE_ID
from test_user_wxx_v
order by USER_NAME;

 试着改一下

动态菜单列表CKU_MENU_WXX2

select * from ck_menu_v
where page_id in (
    select distinct page_id from test_user_wxx_v where user_name = :APP_USER
)

配置一下

用户界面→导航菜单→导航菜单列表  刚刚写好的CKU_MENU_WXX2→模板选项如下所示

 成功啦!

管理员张三显示的侧边导航栏

普通用户李四显示的侧边导航栏

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值