专题开发十二:JEECG微云快速开发平台-基础用户权限
? 專(zhuān)題開(kāi)發(fā)十二:JEECG微云快速開(kāi)發(fā)平臺(tái)-基礎(chǔ)用戶(hù)權(quán)限
11.3.4自定義按鈕權(quán)限
Jeecg中,目前按鈕權(quán)限設(shè)置,是通過(guò)對(duì)平臺(tái)自己封裝的按鈕標(biāo)簽(<t:dgFunOpt等)進(jìn)行設(shè)置。而在開(kāi)發(fā)的過(guò)程中,有一些按鈕標(biāo)簽是普通的<ahref>或<button>形式的。對(duì)于這種普通開(kāi)發(fā)者自定義按鈕的權(quán)限設(shè)置,目前jeecg也可以支持了。具體設(shè)置方法如下:
?1. 給頁(yè)面上的自定義按鈕增加id或class 。
小提示:對(duì)于具有相同權(quán)限的多個(gè)按鈕,可以設(shè)定一個(gè)共同的class,將會(huì)更加便捷。
2.將自定義按鈕的id或class設(shè)置到操作按鈕中。
方式一:?? ID設(shè)置
方式二:?? Class設(shè)置
3.在角色列表中,進(jìn)行正常的權(quán)限設(shè)置就可以了
11.4菜單自動(dòng)加載
11.4.1背景
配置菜單和按鈕操作權(quán)限是個(gè)很繁瑣的工作,所以考慮采用系統(tǒng)自動(dòng)加載方式
11.4.2設(shè)計(jì)思路
采用注釋標(biāo)簽,在代碼層標(biāo)示菜單和菜單操作權(quán)限,系統(tǒng)啟動(dòng)的時(shí)候掃描整個(gè)工程看菜單是否已經(jīng)配置到表里,如果沒(méi)有,系統(tǒng)自動(dòng)將配置菜單加載到系統(tǒng)表里
(默認(rèn)配置的菜單都是一級(jí)的,需要用戶(hù)手工調(diào)整菜單目錄)
11.4.3具體實(shí)現(xiàn)
自動(dòng)加載菜單開(kāi)關(guān)
1. 配置文件
resources\sysConfig.properties
2. 參數(shù)
#auto scan menu flag true orfalse
auto.scan.menu.flag=true
說(shuō)明:當(dāng)不需要自動(dòng)加載菜單的時(shí)候,改為false,因?yàn)榧虞d菜單會(huì)犧牲啟動(dòng)性能
3. 菜單標(biāo)簽
/**
?* 菜單注釋標(biāo)簽
?* 系統(tǒng)啟動(dòng)自動(dòng)加載菜單配置
?* Class級(jí)別
?*/public@interface AutoMen
參數(shù)說(shuō)明:\
| 參數(shù)名 | 說(shuō)明 | 默認(rèn)值 |
| Name | 菜單名稱(chēng) | ? |
| level | 等級(jí) | 0 |
| url | 菜單地址 | ? |
| icon | 圖標(biāo) | 402880e740ec1fd70140ec2064ec0002 |
| order | 順序 | 0 |
/**3.?????? 菜單操作權(quán)限標(biāo)簽
?* 菜單操作按鈕注釋標(biāo)簽
?* 系統(tǒng)啟動(dòng)自動(dòng)加載菜單對(duì)應(yīng)的操作權(quán)限
?* Method級(jí)別
?*/public@interfaceAutoMenuOperation
| 參數(shù) | 說(shuō)明 | 默認(rèn)值 |
| name | 操作名稱(chēng) | ? |
| code | 操作碼 | ? |
| codeType | 操作碼類(lèi)型(Tag/Id/Css) | MenuCodeType.TAG |
| icon | 圖標(biāo) | 空 |
| status | 狀態(tài) | 0 |
1.? 菜單標(biāo)簽使用例子
@Controller
@RequestMapping("/jeecgDemoController")
@AutoMenu(name = "menu常用Demo", url= "jeecgDemoController.do?jeecgDemo")
publicclass JeecgDemoController extends BaseController {
2.? 菜單操作標(biāo)簽使用例子
/**
??? ?* 添加JeecgDemo例子
??? ?*
??? ?* @param ids
??? ?* @return
??? ?*/
??? @RequestMapping(params = "save")
??? @ResponseBody
??? @AutoMenuOperation(name="添加",code = "add")
??? public AjaxJson save(JeecgDemo jeecgDemo,HttpServletRequest request)
?
總結(jié)
以上是生活随笔為你收集整理的专题开发十二:JEECG微云快速开发平台-基础用户权限的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 登上梦想的火车
- 下一篇: RHEAS 显示、输入中文