热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

rbac4表常规设计

rbac4表常规设计设计模型:1、管理员表(users)Schema::create('users',function(Blueprint$table){$tabl

rbac 4表 常规设计

设计模型:

技术分享图片

 

 


1、管理员表(users)


Schema::create(‘users‘, function (Blueprint $table) {
$table->bigIncrements(‘id‘);
$table->unsignedBigInteger(‘role_id‘)->default(0)->comment(‘角色id‘);
$table->string(‘username‘, 20)->comment(‘用户名‘);
$table->string(‘truename‘, 50)->default(‘未知‘)->comment(‘真实姓名‘);
$table->string(‘password‘, 255)->comment(‘密码‘);
$table->string(‘email‘, 50)->nullable()->comment(‘邮箱‘);
$table->string(‘phone‘, 15)->default()->comment(‘手机号码‘);
$table->enum(‘sex‘,[‘先生‘,‘女士‘])->default(‘先生‘)->comment(‘性别‘);
$table->char(‘last_ip‘,15)->default(‘‘)->comment(‘登录ip地址‘);
$table->timestamps();
// 软删除
$table->softDeletes();
});


2、角色表(roles)


Schema::create(‘roles‘, function (Blueprint $table) {
$table->bigIncrements(‘id‘);
$table->string(‘rolename‘,20)->comment(‘角色名称‘);
$table->timestamps();
// 软删除
$table->softDeletes();
});


3、权限表(permissions)


Schema::create(‘permissions‘, function (Blueprint $table) {
$table->bigIncrements(‘id‘);
$table->string(‘PermissionName‘, 50)->comment(‘权限名称‘);
$table->string(‘route_name‘, 100)->default(‘‘)->comment(‘路由别名,权限认证标识‘);
$table->unsignedBigInteger(‘pid‘)->default(0)->comment(‘上级ID‘);
$table->enum(‘is_menu‘, [‘0‘, ‘1‘])->default(‘0‘)->comment(‘是否为菜单,0否,1是‘);
$table->timestamps();
$table->softDeletes();
});


4、角色与权限的中间表(role_permission)


Schema::create(‘role_permission‘,function(Blueprint $table){
// 角色ID
$table->unsignedBigInteger(‘role_id‘)->default(0)->comment(‘角色ID‘);
// 权限ID
$table->unsignedBigInteger(‘permission_id‘)->default(0)->comment(‘权限ID‘);
});

 


推荐阅读
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • 本文深入探讨 PHPCMS 平台中的字符串截取函数 str_cut 的使用方法,该函数常用于控制输出的标题或内容摘要长度,有效避免因过长的文本导致的页面布局问题。通过本文,读者将掌握如何灵活运用此函数,包括处理 HTML 标签等高级技巧。 ... [详细]
  • 本文介绍了如何使用JavaScript和jQuery实现页面元素随着滚动条的移动而相应变化位置的功能,提供了一段简洁的代码示例。 ... [详细]
  • CentOS 7.2 配置防火墙端口开放
    本文介绍如何在 CentOS 7.2 系统上配置防火墙以开放特定的服务端口,包括 FTP 服务的临时与永久开放方法,以及如何验证配置是否生效。 ... [详细]
  • 本文介绍了如何利用Java中的URLConnection类来实现基本的网络爬虫功能,包括向目标网站发送请求、接收HTML响应、解析HTML以提取所需信息,并处理可能存在的递归爬取需求。 ... [详细]
  • 优化Input Checkbox与Label文本对齐的方法
    本文探讨了在网页设计中,如何有效解决input checkbox与label文字不对齐的问题。通过具体的代码实例和解决方案,帮助开发者实现更加美观的用户界面。 ... [详细]
  • Java与JSON互转:实现JSON到Java对象及Java对象到JSON的转换
    本文详细介绍了如何在Java中实现JSON数据与Java对象之间的相互转换,包括代码示例和常见问题解决方法。 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • 本文探讨了如何利用SqlDependency执行复杂的SQL查询,并确保在多线程环境下的安全性与效率。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文探讨了如何在Node.js环境中,通过Tor网络使用的SOCKS5代理执行HTTP请求。文中不仅提供了基础的实现方法,还介绍了几种常用的库和工具,帮助开发者解决遇到的问题。 ... [详细]
  • 在使用Maven进行项目构建时,由于依赖库的下载速度慢常常让人感到沮丧,这直接影响了开发效率和学习热情。幸运的是,阿里云提供了一个快速的国内镜像服务,能够显著提升Maven项目的构建速度。 ... [详细]
  • 本文探讨了为何需要进行详尽的需求分析,以及在软件开发过程中常见的需求类型。同时,介绍了几种有效的方法来确保能够准确地捕捉到用户的实际需求。 ... [详细]
  • JavaWeb技术架构解析
    本文探讨了JavaWeb开发中客户端与服务器端的交互模式,重点分析了B/S(浏览器/服务器)和C/S(客户端/服务器)两种架构的特点及应用场景。 ... [详细]
  • 深入理解Python编程
    本文探讨了作者在学习Python过程中遇到的挑战和转折点,以及如何通过找到合适的资源和方法来提升编程技能。对于初学者来说,这不仅是一个学习的过程,也是一个自我发现和调整学习策略的过程。 ... [详细]
author-avatar
梦春情初开
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有