Laravel 实现简单Rbac 权限管理
来源:互联网 发布:阿里云 连接 腾讯云 编辑:程序博客网 时间:2024/06/05 18:59
- RBAC 基于角色的访问控制(Role-Based Access Control)
- ( 用户 —–>角色——>权限 )
- 简单实现了一个访问控制的权限,数据库表如下
CREATE TABLE `users` ( `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 `roles` ( `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_roles` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_id` 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_user_id` (`user_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户角色表';CREATE TABLE `permissions` ( `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_permissions` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `role_id` int(11) NOT NULL DEFAULT '0' COMMENT '角色id', `permission_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='角色权限表';
最终效果
不过laravel集成有 权限包,可以试试 Entrust ,文档地址
http://laravelacademy.org/post/3755.html
阅读全文
1 0
- Laravel 实现简单Rbac 权限管理
- Laravel的权限管理(RBAC)
- 使用SpringSecurity3实现RBAC权限管理
- Yii2-admin RBAC权限管理的实现
- Yii2-admin RBAC权限管理的实现
- 使用SpringSecurity3实现RBAC权限管理
- Yii2-admin RBAC权限管理的实现
- 基于Django实现RBAC权限管理
- Yii2-rbac权限基础--权限管理的实现
- RBAC,权限管理系统
- RBAC权限管理系统
- J2EE-RBAC权限管理
- J2EE-RBAC权限管理
- J2EE-RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- RBAC权限管理
- 【Java学习4.6】深入数组(未完成)
- Spring Mergeable
- 碰撞检查
- Mysql 介绍(下)
- Gerrit代码Review入门实战
- Laravel 实现简单Rbac 权限管理
- 简单的mycat分库操作
- bzoj1305 [CQOI2009]dance跳舞(二分答案+最大流判是否满流)
- windows客户端plsql连接不上,错误码:ORA-12537
- Spring4.x第二章实例 1.0 chapter2【原书源码报错】
- SQL server sequence构造自定义自增主键
- webpack 3.X 安装与配置
- Oracle trunc()函数的用法
- dubbo通信协议之对比