为了账号安全,请及时绑定邮箱和手机立即绑定

使用EasyUI开发银行业绩统计系统[22]-角色权限管理的设计

一,简介

所谓的角色权限管理,其实就是角色所拥有的菜单的管理,当前系统的权限就到角色-菜单这一层。当然还是应该有更加深层次的权限设计,这个放在本系列的后传里面专门阐述。

本篇主要讲角色权限管理功能的设计,不涉及具体的代码实现,为啥要单独一篇讲设计,因为角色权限管理涉及角色表、菜单表、角色菜单表三张表,前台又是使用的EasyUI,其设计与实现非常有个性,且有多种实现方式,所以单独拿出一篇文章讲设计,是非常合理滴。

二,思路

1,首先角色权限管理,也属于对角色的管理,所以此功能放在role_manage.jsp页面中,在操作栏添加一个按钮"权限管理"即可,如下:
图片描述

2,当点击权限管理按钮时,弹出菜单选择对话框,选中角色已有的菜单应该是复选框默认选中的,角色未对应的菜单复选框默认不选中。

3,在菜单选择对话框,点击确定后,应该将用户选择的内容同步到数据库中,此时比较简单的做法是先把role_menu表中role对应的记录都删除,然后直接新增用户选择的菜单和角色的对应关系的记录。

这其中1,3都还算简单,但是2怎么实现呢?

三,带复选框的表格的默认选中项问题

1,其实最简单的是修改json字符串的格式,后台过来数据时就标记好那些菜单项是角色拥有的,然后在json中设置该项的checked为true,到前台自然就默认选中。但是由于ORM框架限制了Role_menu实体类的字段(必须跟数据库一一对应),所以此条道路不通。

2,先加载角色对应的,然后将对应的复选框打上勾,然后加载剩余的非对应的菜单。这种方式比较简单易行,但是菜单无法排序。(比如菜单很多的情况下,我们希望能按菜单名称或者菜单创建的先后顺序排序)

3,最后一种办法,就是先加载全部的菜单,然后对菜单进行遍历,遍历的过程中发现菜单是角色对应的,则对其打勾。

本着高端大气上档次的精神,选择方案3,下一篇予以实现。

点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件工程师
手记
粉丝
1.5万
获赞与收藏
1523

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消