RBAC权限管理与用户操作日志
来源:互联网 发布:淘抢购在淘宝首页哪里 编辑:程序博客网 时间:2024/06/06 03:19
一.流程
1.取出当前登录用户的所属角色
2.在通过角色取出所属权限关系
3.在权限列表中取出所有的权限链接
4.判断当前访问的链接是否在所有拥有的权限列表
①定义不需要权限的链接
②是管理员也不需要权限判断
二.操作日志
1.访问地址,ip,浏览器的ua 都通过server获得
2.把post和get数据,组成数组,然后转成json格式,存储在数据库中.
三.建表语句
CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL DEFAULT '' COMMENT '姓名', `email` varchar(30) NOT NULL DEFAULT '' COMMENT '邮箱', `is_admin` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否是超级管理员 1表示是 0 表示不是', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:有效 0:无效', `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间', `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`id`), KEY `idx_email` (`email`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';CREATE TABLE `role` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '' COMMENT '角色名称', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:有效 0:无效', `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间', `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色表';CREATE TABLE `user_role` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL DEFAULT '0' COMMENT '用户id', `role_id` int(11) NOT NULL DEFAULT '0' COMMENT '角色ID', `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`id`), KEY `idx_uid` (`uid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户角色表';CREATE TABLE `access` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL DEFAULT '' COMMENT '权限名称', `urls` varchar(1000) NOT NULL DEFAULT '' COMMENT 'json 数组', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:有效 0:无效', `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间', `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='权限详情表';CREATE TABLE `role_access` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `role_id` int(11) NOT NULL DEFAULT '0' COMMENT '角色id', `access_id` int(11) NOT NULL DEFAULT '0' COMMENT '权限id', `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`id`), KEY `idx_role_id` (`role_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色权限表';CREATE TABLE `app_access_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` bigint(20) NOT NULL DEFAULT '0' COMMENT '品牌UID', `target_url` varchar(255) NOT NULL DEFAULT '' COMMENT '访问的url', `query_params` longtext NOT NULL COMMENT 'get和post参数', `ua` varchar(255) NOT NULL DEFAULT '' COMMENT '访问ua', `ip` varchar(32) NOT NULL DEFAULT '' COMMENT '访问ip', `note` varchar(1000) NOT NULL DEFAULT '' COMMENT 'json格式备注字段', `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_uid` (`uid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户操作记录表';INSERT INTO `user` (`id`, `name`, `email`, `is_admin`, `status`, `updated_time`, `created_time`)VALUES(1, '超级管理员', 'apanly@163.com', 1, 1, '2016-11-15 13:36:30', '2016-11-15 13:36:30');
0 0
- RBAC权限管理与用户操作日志
- tp5的RBAC插件及其使用很方便的管理用户登录及操作权限
- ubuntu用户管理与权限操作实例
- RBAC,权限管理系统
- RBAC权限管理系统
- J2EE-RBAC权限管理
- J2EE-RBAC权限管理
- J2EE-RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC 权限管理
- RBAC权限管理
- [kuangbin带你飞]专题一 简单搜索-B
- RHEL-第十二单元练习题
- An ffmpeg and SDL Tutorial 00
- MVC思维
- Java多线程并发编程:volatile关键字解析
- RBAC权限管理与用户操作日志
- oracle中格式化代码的快捷键
- 25个不错PHP的游戏编程脚本代码分享
- 关于SimpleDateFormat时间转换总是显示1970年的问题
- python pyqt,爬后台数据
- 集合相等问题 oj
- RHEL-第十三单元练习题
- 九度oj题目1534:数组中第K小的数字
- 用故事理解CSS中的relative、absolute和overflow:hidden