安业项目:权限控制

在安业项目中主要采用了微软的treeview来按制,所以权限控制最主要的就是控制treeview上要显示的结点,
其中用到了四个表,xt_menu(菜单表),xtuser(用户表),xt_jsmx(角色明细表),xt_qxmx(权限明细表)
如图:

用户表中的user_role与角色明细中的js_bh用来确定登陆用户的角色,角色明细表中的js_bh与权限明细表中的
js_bh关联来确定该角色的权限,再根据权限明细表中的enabled与菜单表中的mnu_xh关联来确定菜单。

下面项目中所用的存储过程。
CREATE PROCEDURE ay_proc_xtmenu
@usernc varchar(20)
AS
begin
SELECT DISTINCT   xt_menu.mnu_xh, xt_menu.mnu_fbm, xt_menu.mnu_name, xt_menu.mnu_url,
      xt_menu.mnu_img, xt_menu.mnu_seq, xt_menu.mnu_end, xt_menu.mnu_lb
FROM xt_qxmx INNER JOIN
      xt_jsmx ON xt_qxmx.js_bh = xt_jsmx.js_bh INNER JOIN
      xtuser ON xt_jsmx.js_bh = xtuser.user_role INNER JOIN
      xt_menu ON xt_qxmx.enabled LIKE xt_menu.mnu_xh + '%'
where xtuser.user_nc=@usernc
ORDER BY mnu_xh
end
GO

至于树的生成,可以参考《用Trewview生成树:动态的从数据库中取树结点》文章。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值