`
雨中伞
  • 浏览: 43909 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

permission manage database design

 
阅读更多
  --权限许可      
  create table res_permission      
  (      
   roleid      INTEGER,      
   resourceid  varchar2(30),      
   operationid integer,      
   primary key(roleid,resourceid,operationid)      
  )      
       
       
  --角色定义      
  create table res_role      
  (      
   roleid      INTEGER,      
   rolename    varchar2(30),      
   roledesc    varchar2(100),      
   primary key(roleid)      
  )      
       
  --角色权限      
  create table res_userrole      
  (      
   roleid      INTEGER,      
   userid      varchar2(30),--用户名      
   primary key(roleid,userid)      
  )      
       
  --资源      
  create table res_resource      
  (      
   resourceid      varchar2(20),      
   resourcename    varchar2(30),      
   resourcedesc    varchar2(100),      
   primary key(resourceid)      
  )      
  --操作信息      
  create table res_operation      
  (      
   operationid      varchar2(20),      
   operationname    varchar2(30),      
   operationdesc    varchar2(100),      
   primary key(operationid)      
  )      
  --res_operation 表的序列号      
  create  sequence   res_operation_seq;      
  --res_role 表的序列      
  create  sequence   res_role_seq;      
  --建立soperationid与 sroleid两个序列分别用来产生Operation表与Role表的ID列      
  create sequence soperationid increment by 1 start with 1 nomaxvalue minvalue 1;       
  create sequence sroleid increment by 1 start with 1 nomaxvalue minvalue 1;   

 核心提示:--权限许可 create table res_permission ( roleid INTEGER , resourceidvarchar2(30), operationid integer , primary key (roleid,resourceid,operationid) ) --角色定义 create table res_role ( roleid INTEGER , rolenamevarchar2(30), roledescvarchar

 

--表设计的原理
--根据交叉法来匹配权限
--1:根据用户表中的用户id关联到res_userrole的userid,然后再关联到 res_role,查出用户对应的所有权限,存放到list中
--2:根据资源和操作查询出用户可以操作的所有许可 res_permission,存放到list中
--3:通过同时遍历两个list,查询出是否存在交叉,如果存在就是有权限,否则为无权限

 

分享到:
评论

相关推荐

    Laravel-permission 安装

    这条命令会在`database/migrations`目录下生成一系列迁移文件,这些文件包含了创建所需表的SQL语句。 #### 三、自定义迁移文件 如果你的应用使用了非标准的ID类型(例如UUID或GUID),那么你需要自定义迁移文件。...

    Android代码-App Ops – Permission Settings

    App-Ops Launches the App Ops feature that is hidden in Android 4.3 to 4.4.1 ...Author Stephen Mullen Stephen is a web designer and Android app developer based in Preston, UK Twitter @wirelessguyuk ...

    Android权限管理之Permission权限机制及使用详解

    在Android系统中,权限分为两种类型:Permission权限和Runtime Permission(运行时权限)。本文将详细介绍Permission权限机制及其在Android系统中的使用。 首先,Permission权限机制是Android系统为了防止恶意软件...

    android.permission大全

    ### Android.Permission大全知识点详解 #### 一、概述 在Android应用开发过程中,权限管理是非常重要的一环。合理的权限设置不仅可以保障用户的隐私安全,还可以确保应用的正常运行。本篇文章将详细介绍部分...

    Android权限列表permission说明

    Android权限列表permission说明,希望可以帮助到大家

    Laravel开发-laravel-permission-mongodb

    // 文件:database/migrations/xxxx_xxxx_create_permission_table.php use Illuminate\Database\Migrations\Migration; use Jenssegers\Mongodb\Schema\Blueprint; class CreatePermissionTable extends Migration...

    Laravel开发-laravel-permission

    "laravel-permission"是Eloquent权限管理的一个流行实现,特别为Laravel 5.5及以上版本设计。这个库是由Spatie公司提供的,它提供了一种简单而有效的方式来处理角色和权限。 首先,我们要了解Laravel的基础架构。...

    Android权限列表permission说明.

    - **声明**:需要在`androidmanifest.xml`文件中添加`<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />`。 2. **ACCESS_FINE_LOCATION** - **定义**:用于获取精确位置信息,如GPS...

    百度地图API报PERMISSION_UNFINISHED错误

    在使用百度地图API进行开发的过程中,可能会遇到一个常见的问题:“PERMISSION_UNFINISHED”错误。这一错误通常出现在尝试调用地图服务或者访问某些特定功能时,对于开发者来说,理解其背后的原因并找到解决方法是...

    database-manage.zip_GO!

    add key="ConnectionString" value="Data Source=localhost POOLING=FALSE database=databasemanage User ID=sa Password=sa"/> <add key="AdminTable" value="admintable"/> 用户可以管理其他数据标,...

    usb-permission-issuer.apk

    在你的APP中向usb-permission-issuer发送广播,申请usb权限,等申请通过在使用USB就不会弹出USB授权对话框,需要人为确认的情况。 Intent intent = new Intent(); intent.setAction("ACTION_USB_PERMISSION_ISSUER...

    PermissionDemo.zip

    `PermissionDemo.zip`是一个专门针对这一主题的示例项目,旨在帮助开发者理解和实现Android应用中的动态权限申请。 首先,我们需要理解Android的权限管理系统。在Android 6.0之前,应用在安装时会一次性获得清单...

    Android权限列表permission说明.txt

    - **权限名称**:"android.permission.BROADCAST_PACKAGE_REMOVED" - **应用场景**:通常用于清理与已卸载应用相关的数据或资源,确保应用状态的一致性。 #### 2. CALL_PHONE - **定义**:允许应用程序直接拨打电话...

    Pro Android学习:permission例子

    `Pro Android`学习系列深入探讨了Android平台的各种方面,其中“permission”部分专门讲解如何处理应用权限。在这个例子中,我们将详细了解Android权限系统的工作原理,以及如何在实际项目中应用它们。 Android权限...

    Laravel开发-bizzy-permission

    Route::middleware('permission:manage_users')->group(function () { Route::get('/users/edit/{user}', 'UserController@edit'); }); ``` 总的来说,Bizzy-Permission为Laravel 5.3提供了强大的权限管理功能,...

    前端项目-angular-permission.zip

    在本文中,我们将深入探讨基于Angular的前端项目——"angular-permission",它是一个用于实现角色和权限控制的路由授权框架。这个项目的核心是利用Angular的特性来实现细粒度的访问控制,允许开发者根据用户的角色和...

    Clipboard Permission Manager

    标题中的“Clipboard Permission Manager”指的是一个管理剪贴板权限的工具,主要针对Jumpserver堡垒机。在IT领域,Jumpserver通常被用作一种开源的堡垒机解决方案,用于集中管理和审计远程服务器的访问。堡垒机在...

    Laravel开发-laravel-permission-roles

    `laravel-permission`库是Laravel社区广泛使用的扩展,它为Laravel提供了方便的角色(Roles)和权限(Permissions)管理功能。这个压缩包`laravel-permission-roles`可能包含了该库的源码以及示例项目,帮助开发者更...

Global site tag (gtag.js) - Google Analytics