Java代码生成器codeMan重磅更新——添加权限管理模块生成功能,实现动态菜单和按钮级别的权限控制

前言

转眼又过去了两个多月,时间就像一个隐形的精灵,总是在不经意间从眼皮底下溜走,不知不觉已经8月底了,金九银十近在眼前,不知道小伙伴们有没有跳槽的打算呢?相信此时你的心中已经有了自己的答案。闲言少叙,经过周末加上今天上午的赶工,终于把代码生成器更新了一版,这次更新虽然在界面上只是加了一个添加权限管理的radio,但背后的工作却一点不少,先让我们一起来看一下效果吧。

实现效果

推荐大家通过idea插件的方式来使用代码生成器,不容易出现问题。因为exe是我用ikvm把Java代码编译成dll,然后使用visual studio生成的,所以在个别的操作系统中会出现闪退等奇奇怪怪的现象,大概是因为系统缺少某个组件库导致的,另外使用的时候360可能会误报,允许操作即可。

首先打开代码生成器:

codeMan插件

codeMan

配置好数据库信息,选择添加权限管理选项,使用权限管理功能会在配置的数据库中建立下图中的六张表,所以数据库的用户需要具备建表权限才可正常使用,否则生成后的代码会不可用:
添加权限管理

数据表配置,在这里我们写一下表名,到时候默认会生成跟表名一样的菜单名:
数据表配置

回到主界面,点击生成,稍等片刻,生成完毕(生成过程中如果之前已经生成过权限相关表会提示已经有相关表,是否重建,根据自身需求选择是否即可):
生成完毕

导入生成后的项目到idea,启动生成后的项目,启动成功:
启动

访问http://localhost:8080/authtest/login,初始用户名admin,密码123456。
如下图,已经生成了系统管理模块和测试表模块,菜单管理用来维护菜单,菜单可以拖拽进行排序等操作,角色管理可以设置不同角色显示的菜单和按钮:
菜单管理

角色管理

在这里我们测试一下,去掉当前用户的测试表模块信息管理菜单的删除权限:
权限测试

设置完之后,刷新当前浏览器页面(现在设置完权限后需要刷新页面才可生效),点击测试表的信息管理菜单,可以发现删除按钮已经不见了:
成功去除删除按钮

然后我们再把删除权限恢复,刷新浏览器页面,删除按钮重现:
授权删除

删除按钮重现

至此,我们已经成功生成了一套较为完善的带有权限管理功能的后台管理系统!

实现原理

实现原理其实比较简单,cm_sys_role表存储角色相关信息,cm_sys_user表存储用户的相关信息,每个用户都拥有自己的角色,cm_sys_menu和cm_sys_button分别存储菜单和按钮信息,cm_sys_role_menu和cm_sys_role_button来存储角色对于角色和按钮的分配关系,这样通过当前用户的角色id便可以查询到自己拥有的菜单和按钮,实现页面上的动态显示,按钮主要是通过页面上的元素id来进行控制,其实只要是页面上的元素,都可以配置好之后进行显示上的控制。

生成的逻辑则稍微复杂一些,生成代码属于逆向思维,首先需要生成所需的基本的六张表,插入初始化数据,然后根据用户配置的数据表信息来插入菜单和按钮数据,准备工作完毕之后,需要花大精力来处理生成模板,同时还涉及到之前生成逻辑的兼容,模板修改完毕后,再根据模板编写具体的生成代码。本次更新我对生成代码的核心方法做了进一步的公共方法抽取,缩小了代码体积,之前的代码太过冗长,写起来比较崩溃,现在舒服了很多,感兴趣的朋友可以去自行阅读源码,代码写完后便是各方面的测试,测试完毕后再进行线上的包发布,发布完之后,当用户打开软件的时候便可以在线获取更新,体验全新的功能,大体流程就是这样,其实每次新版本发布之后都会有一些bug出现,就在我写这篇文章的时候,截图的过程中还发现并修复了俩bug。。。

结语

其实任何一个在互联网上线并且被大众使用的开源软件,能长期运营下去都是不容易的,毕竟只是利用业余时间来开发维护,而且没有多少回报,代码生成器上线的这一年多来,每天都有人关注并且使用,我对此还是很感动的,也许这就是我保持更新的动力所在吧,工作的忙碌,生活的负担,压的我们每天喘不过气来,逐渐变得彷徨迷茫,但作为程序员的我们还是要坚持学习,每天进步一点,这样不至于上了年纪被淘汰掉,我现在马上27了,虽然正值壮年,但却感觉以前的那股冲劲正在越来越淡,也许这就是所谓的老了吧,哈哈哈,时代永远是属于年轻人的,虽然我们都在逐渐退出历史舞台,但能在退场之前留下属于自己的一丝光亮也就无憾了。

金九银十招聘季也近在咫尺,人挪活,换一个环境,也许恰巧是心之所向,当然我不是鼓励大家跳槽,通过面试了解行业走向,主流技术以及自己的市场价位是比较直接的方式,这对自己以后的职业发展大有裨益。最后,祝大家都能有所突破,早日实现自己的职业理想!

关注我的公众号 螺旋编程极客,可获取最新版代码生成器及其源码,同时定期分享专业知识福利,期待你的到来!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,858评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,372评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,282评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,842评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,857评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,679评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,406评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,311评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,767评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,945评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,090评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,785评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,420评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,988评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,101评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,298评论 3 372
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,033评论 2 355

推荐阅读更多精彩内容