JEECG - 基于代码生成器的J2EE智能开发框架 续五:权限设计
當(dāng)前分析:?目前權(quán)限模塊的設(shè)計(jì),模型很多也很成熟,各種精細(xì)控制也很完善,但同時(shí)因?yàn)闄?quán)限設(shè)計(jì)的太精細(xì)化,也產(chǎn)生一個(gè)問題: 用戶系統(tǒng)操作越來越復(fù)雜;
實(shí)際上用到這么精細(xì)設(shè)計(jì)的項(xiàng)目也并不多。
一般項(xiàng)目只需控制到菜單級(jí)別,即使需要控制到按鈕權(quán)限,也是少數(shù)幾個(gè)頁面,所以我就想設(shè)計(jì)一個(gè)輕量級(jí)權(quán)限:?
以菜單權(quán)限為主,按鈕權(quán)限為副,達(dá)到用戶操作簡單,條例清晰,又能滿足菜單和按鈕權(quán)限控制!!
?
簡述我的權(quán)限設(shè)計(jì):
菜單和按鈕權(quán)限采用分離設(shè)計(jì),二者沒有關(guān)聯(lián)關(guān)系而是相互獨(dú)立。
(采用一張表,存儲(chǔ)菜單和權(quán)限,設(shè)計(jì)權(quán)限類型字段加以區(qū)分)
?
權(quán)限分類:
[1].菜單權(quán)限(權(quán)限類型:1)
[2].按鈕權(quán)限(權(quán)限類型:2)
?
?
權(quán)限控制說明:
[1].菜單權(quán)限:
用戶只有配置了菜單權(quán)限,才能看到對(duì)應(yīng)的菜單;
[2].按鈕權(quán)限:
A.沒有配置的按鈕權(quán)限,所有人都可以訪問;
?????B.按鈕權(quán)限進(jìn)行了配置,則只有分配權(quán)限的人才能訪問;
?
按鈕權(quán)限自定義標(biāo)簽使用:
<%@taglib uri="/btn-tags" prefix="btn"%>
<btn:accessprivilege="personAction!add.action">add();</btn:access>
?
?
?
權(quán)限配置:
目前只有三層:用戶-角色-權(quán)限(菜單權(quán)限、按鈕權(quán)限)
?
?
?
備注:我的設(shè)計(jì)是以快速開發(fā)為宗旨,簡單清晰,當(dāng)然不能適合所有的系統(tǒng),有的系統(tǒng)功能需要非常精細(xì)化,哪肯定得采用一些比較成熟的權(quán)限模型;
總結(jié)
以上是生活随笔為你收集整理的JEECG - 基于代码生成器的J2EE智能开发框架 续五:权限设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐--jQuery使用手册
- 下一篇: Fedora安装Nvidia显卡驱动方法