java权限精确到按钮_搞定权限设计1-页面按钮控制(精确到某个用户和某个按钮)...
每个系统都离不开权限控制,这里来说说页面上控制到按钮的思路,仅提供思路:
使用 角色 + 资源(菜单和菜单对应页面上的按钮)+ 授权的方式。
1 定义角色与用户;
假定这里我们只控制到角色这一层次,一个用户一个角色,设计如下:
角色表: role(role_id, role_name)
用户表: user(user_id, username, role_id),其中role_id是角色表的外键。
2 定义资源
这里假定把菜单、按钮都看成是一种资源,一个菜单上面有多个按钮。
菜单表: menu(menu_id, nemu_name, menu_url)
按钮表: operation(btn_id, btn_code, btn_name, btn_title, menu_id) btn_title 为提示
按钮表,其中menu_id 区分这个按钮是属于那一个页面,btn_code 存这个按钮在页面上的组件ID,这个在一个页面下应该是唯一的,方便后续页面定位她。比如我的HTML页面A,有一个按钮
3 录入资源
录入菜单与对应按钮到菜单表和按钮表,数据根据开发的页面而来。
假如我有2个页面
a.html (页面有2个按钮,保存 id: saveBtn,删除 id: deleteBtn );
b.html (页面有2个按钮,新增 id: addBtn,提交 id: submitBtn );
那么我录入的数据应该是:
菜单表:
(1,a页面, /a.html)菜单ID假设是1
(2,b页面, /b.html)菜单ID假设是2
按钮表:
(1, saveBtn, 保存, 保存按钮,1)
(2, deleteBtn, 删除, 删除按钮,1)
(3, addBtn, 新增, 新增按钮,2)
(4, submitBtn, 提交, 提交按钮,2)
4 设计授权表
配置角色对资源的访问权限,角色与资源多对多,设计如下:
权限表: author(id, role_id, resource_id, resource_type) 注释: id, 角色ID,资源ID, 资源类型(菜单还是按钮)
5 录入授权数据
录入角色与资源的权限关系,此时某个角色能够访问的资源数据已经有了,包括菜单和按钮。
进入页面控制:
进入页面之前,根据用户拿到角色,根据当前访问的菜单,拿到有权限的按钮;
页面初始化完成后(比如jQuery.ready()),根据按钮ID,有权限的按钮显示,没权限的按钮隐藏(所以之前按钮要保存页面的组件ID);
java权限精确到按钮_搞定权限设计1-页面按钮控制(精确到某个用户和某个按钮)...相关推荐
- 韩顺平轻松搞定网页设计(html+css+js),韩顺平轻松搞定网页设计方案(html+css+js)之javascript现场授课笔记(完整版).doc...
2011韩顺平轻松搞定网页设计(html+css+js)之 javascript现场授课笔记(完整版) 视频18整和19的前半部分不用看 Javascript的基本介绍 JS是用于WEB开发的脚本语言 ...
- html百度首页制作视频,韩顺平 轻松搞定网页设计 html+css+js
韩顺平老师的教程影响着一代又一代的学子们,他的视频教程确实做的很经典,不论是java.php还是网页设计,都有出彩的地方.这里,小编给大家分享韩顺平老师的轻松搞定网页设计教程,绝对完整,全部存于百度网 ...
- APP设计师拿到APP产品原型开始,七步搞定APP设计
转载:http://www.25xt.com/appdesign/9670.html 任何一款成功的APP都需要以坚实的产品概念作为基础,因为概念决定了产品最终完成的潜力. 一般情况下,交到app设计 ...
- 汇道科技传授5个排版技巧,帮你轻松搞定UI设计
文字排版不只是从下拉选单选择字型和点数而已,文字排版是一项流传数世纪的技艺,自木制和金属的活版印刷便开始,而且它不只历史悠久,还很实用,大部分的人只要掌握一些实用的诀窍,就可以将之活用在诸如履历表.电 ...
- java 接口权限控制_手把手教你搞定权限管理,结合Spring Security实现接口的动态权限控制!...
SpringBoot实战电商项目mall(30k+star)地址:github.com/macrozheng/- 摘要 权限控管理作为后台管理系统中必要的功能,mall项目中结合Spring Secu ...
- android 权限作用说明书,AndroidAcp 一句话搞定,简化 Android 6.0 系统复杂的权限操作 @codeKK Android开源站...
Acp 为 Android check permission 缩写,此库简化 Android 6.0 系统复杂的权限操作而编写. 特点 支持批量权限申请,不需要重写 onRequestPermissi ...
- word分页保存_搞定office丨Word快捷技巧第3弹!
#快捷技巧 效率UP# 大家好~欢迎来到第6期搞定Word~ 这期依然是快捷提效主题--Word快捷技巧第3弹! 01 自动生成文字 首先,和大家说一下怎么自动生成文字,可以用此进行操作练习哦~ 在W ...
- 大学生职业生涯规划书性格特征_搞定职业生涯规划书,看这里!
搞定职业生涯规划书,看这里! 作为大学生 就业是我们即将要面对的问题 那我们是否应提前规划自己理想的职业前景. 找到自己的职业方向呢? 答案是肯定的 只有提前做好准备 才能更好迎接来自社会的挑战 努力 ...
- 数据库本地的sa有个叉号_搞定sql数据库出错,做自己的大神!
原标题:搞定sql数据库出错,做自己的大神! 怎么办? ERP出现登录不了,异常提示:数据库服务未开启或连接失败等,但实际上服务是开启的,软件安装目录下测试连接加密狗数据库也正常.最后发现sql数据库 ...
最新文章
- java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (背包问题)
- 优化Image设置Tiled类型产生过多的三角形顶点
- hadoop hive 2.1.1 将Hive启动为服务
- 前端学习(3032):vue+element今日头条管理-反馈
- 华为云GaussDB:发挥生态优势,培养应用型DBA
- HNU 实验五松雅的旅馆
- 动态改变eachers图表高_动态Excel图表,让数据说话
- Improving Opencv10 More Morphology Transformations
- django mysql处理_利用Django去操作数据库并完成简易的登录及编辑功能
- 《Linux私房菜》——一、linux基础整理
- c语言嵌入式学习,学习嵌入式C语言的秘诀
- 用低代码+BPM赋能知识文档管理系统
- KY RD9700_USB网卡驱动
- 【面试题 - mysql】进阶篇 - 索引
- HarmonyOS/OpenHarmony 双击返回与退出App
- 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.6】
- 比较99^100与100^99大小
- 2020网易游戏测试一面面经(春招上海)
- 嵌入式新手学习路线,嵌入式课程学习
热门文章
- UITextField 文字垂直居中
- python之argmax
- C#之Unix时间和北京时间互转
- educoder MongoDB 数据库基本操作
- oracle没有正常启动,Oracledbstart无法正常启动处理办法
- python代替mathematica_在 Mathematica 里与 Python 交互
- flex布局怎么设置子元素大小_Web前端(三):前端布局
- 模仿笔迹最好的软件_模仿签名代写签字行业进入战国时代,乱战模式开启!
- 企业微信小程序可用存储空间不足_微信小程序为什么能帮助企业商家引流?
- 解决每次git pull、git push都需要输入账号和密码的问题