`

数据库设计--用户、角色及权限管理

    博客分类:
  • Java
阅读更多
数据库设计--用户、角色及权限管理
关键字: 数据库设计
关于用户、角色及权限管理。如下设计是在oracle数据库环境下demo.



1、table user(用户表)



-------------------------------------------------
  ID    username      password    name   ...
-------------------------------------------------
  1      admin         admin      测试1
  2       lx                  lx          测试2



2、table group(用户组)



-------------------------------------------------
  ID    name      description    ...
-------------------------------------------------
  1      js            技术人员
  2      yw          业务人员



3、table permission(权限及菜单表)



-------------------------------------------------------------------------------------
  ID   name    depth    parentid       link           description    showmenu    ...
-------------------------------------------------------------------------------------
  1  系统管理     1           0                                                              1
  2  用户管理     2           1                                                              1
  3  用户组管理  2           1                                                              1
  4  添加用户     3           2        /user/adduser.do                           1
  5  查询用户     3           2        /user/listuser.do                            1



说明:depth 为菜单级次,1为1级主菜单...



4、table user_permission(用户权限对照表)


-------------------------------------------------
  userId       permissionid
-------------------------------------------------


5、table group_permission(用户组权限对照表)


-------------------------------------------------
  groupId       permissionid
-------------------------------------------------
     2                1
     2                2
     2                3
     2                4
     2                5

6、table user_group(用户用户组对照表)


-------------------------------------------------
  userId            groupId 
-------------------------------------------------
     1                 2
     2                 2



7、Start with...Connect By子句递归查询



Sql代码
select p.id, p.name, p.link , p.depth , p.parentId, p.description , p.showAsMenu   
from permission p join  (select gp.permissionid from user_group ug   
join group_permission gp on ug.userid=1  and ug.groupid=gp.groupid union select up.permissionid   
from user_permission up where up.userid=1) t on p.id=t.permissionid and p.showasmenu=1 and p.depth<=3   
start with p.parentid=1 connect by prior p.id=p.parentid order siblings by  p.id 

select p.id, p.name, p.link , p.depth , p.parentId, p.description , p.showAsMenu
from permission p join  (select gp.permissionid from user_group ug
join group_permission gp on ug.userid=1  and ug.groupid=gp.groupid union select up.permissionid
from user_permission up where up.userid=1) t on p.id=t.permissionid and p.showasmenu=1 and p.depth<=3
start with p.parentid=1 connect by prior p.id=p.parentid order siblings by  p.id

O了, 显示效果就不写了!

分享到:
评论

相关推荐

    基于角色的权限管理数据库设计

    ### 基于角色的权限管理数据库设计 #### 概述 本文档主要介绍了一种基于角色的权限管理系统(RBAC)的数据库设计方案,并通过具体的SQL脚本实现了该方案的基本功能。RBAC(Role-Based Access Control)是一种常用的...

    权限管理数据库设计文档

    权限管理数据库设计文档主要关注如何有效地存储和管理用户、角色、权限等关键信息。以下是对这些表及其字段的详细解释: 1. 角色信息表(TB_ADM_ROLE) - ROLEID:角色的唯一标识符,用于区分不同的角色。 - ROLE...

    权限管理及数据库设计

    权限管理涉及到用户角色、操作权限、访问控制等方面,而数据库设计则关乎数据的存储、查询效率以及系统的扩展性。下面将深入探讨这两个重要知识点。 首先,权限管理是确保系统安全性和数据隐私的关键。它通常基于...

    java权限管理系统数据库设计.pdf

    Java 权限管理系统数据库设计 ...权限管理系统数据库设计是指在 Java 平台下设计和实现的权限管理系统的数据库结构和设计思路,包括数据库表的设计、字段的设计、权限的设计、角色设计、用户设计等方面的内容。

    用户权限管理数据库设计

    用户权限管理是IT系统设计中的...以上就是用户权限管理数据库设计的主要知识点,实际设计过程中还需要结合具体业务需求、法律法规以及安全标准进行综合考虑,以构建一个既满足功能需求又具备高安全性的权限管理体系。

    基于RBAC权限管理数据库表设计

    总结来说,基于RBAC的权限管理数据库表设计涵盖了角色、权限、用户、角色-权限关联、用户-角色关联等多个核心组件,通过这些组件的组合,可以构建出一个强大且易于维护的权限管理体系。在实际应用中,还可以根据业务...

    【EAM资产管理】固定资产管理系统数据库设计文档.pdf

    本文档提供了固定资产管理系统数据库设计的详细信息,包括数据库分布特性、表结构设计、视图设计、存储过程设计和数据库角色定义等内容。这些信息将有助于开发一个安全、可靠和高效的固定资产管理系统。

    数据库-----讲义

    - 权限与角色:控制用户对数据库的访问权限,防止非法操作。 - 完整性约束:如实体完整性(主键约束)、参照完整性和用户定义的完整性,确保数据准确无误。 - 触发器:自动执行的程序段,用于在特定事件(如数据...

    数据库课程设计----学费管理系统

    8. **安全性与权限管理**:设置用户账户,分配不同的权限,以防止未授权的访问和操作。了解角色管理和登录权限配置。 9. **备份与恢复策略**:学习如何定期备份数据库,以防数据丢失,并了解如何在出现问题时恢复...

    权限管理设计方案(详细设计)

    权限管理设计方案是为了设计一套具有较强可扩展性的用户认证管理系统,需要建立用户、角色和权限等数据库表,并且建立之间的关系。本设计方案的主要内容包括用户认证管理设计、角色设计、权限设计、用户与角色的关系...

    多种权限表的设计(数据库设计)

    - **系统结构**:分为组权限管理、角色权限管理、用户权限管理、组织管理和操作日志管理五部分,各部分间的关系复杂而有序,确保权限分配的准确性和安全性。 2. **数据结构设计** 数据库设计的关键在于构建合理...

    权限管理的数据库设计

    这里我们将深入探讨如何设计一个权限管理的数据库,主要围绕用户表、角色表、菜单表、以及它们之间的关联表。 1. **用户表** (User Table) - 用户ID (UserID):唯一标识每个用户的主键,通常为自增整数。 - ...

    权限管理模块源码 及数据库设计

    本文将深入探讨一个权限管理模块的源码及其数据库设计,非常适合初学者学习和理解。 首先,权限管理的核心目标是实现用户、角色和资源之间的关系管理。在系统中,用户通过扮演不同的角色来获取对特定资源(如文件、...

    案例:数据库设计中的用户权限管理

    在数据库设计中,用户权限管理是一项至关重要的任务,它确保了数据的安全性和完整性,防止未经授权的访问和操作。尤其在多用户环境中,每个用户可能有不同的角色和职责,因此需要根据他们的等级分配相应的权限。以下...

    数据库课程设计-------------------人力资源管理系统

    5. **数据库设计**: - 概念结构设计:基于需求分析,识别核心实体,如“员工”、“部门”、“管理者”。 - 关系模型:将E-R图转换为关系数据模型,例如: - 员工实体(主码:姓名等属性) - 部门实体(主码:...

    数据库课程设计----学生信息管理系统

    5. **安全性与权限**:角色添加.sql文件可能涉及到数据库的用户角色和权限管理。在实际应用中,需要对不同的用户(如管理员、教师、学生)设置不同的访问权限,比如教师可以查看和修改学生的成绩,但不能修改其他...

    SpringSecurity 2 权限基于数据库--完整DEMO(带数据库文件)

    在DEMO中,数据库中的`authorities`表存储了用户角色和对应的权限。 5. **访问决策管理**: - SpringSecurity的访问决策管理器(AccessDecisionManager)负责决定用户是否有权访问特定资源。在基于数据库的DEMO中...

    数据库建模--员工管理系统

    "权限管理"、"用户管理"和"部门管理"是该系统的关键组成部分,每个模块都包含丰富的知识点。 首先,我们来看"权限管理"。权限管理是系统安全的核心,它定义了不同角色(如管理员、员工、部门经理等)对系统资源的...

    数据库课程设计报告-人事管理系统.doc

    系统的主要功能包括:提供良好的人机交互界面,实施权限管理,实现数据的便捷查询、添加、删除和修改。 在开发工具的选择上,该设计使用了SQL Server 2005来构建后台数据库,配合Visual Studio 2005作为前端开发...

    数据库课程设计--教务系统设计

    在数据库课程设计中,教务系统的构建是一项关键任务,它涉及到多用户角色的管理,如管理员、教师和学生。这个系统旨在提供一个平台,让不同角色的用户能够进行交互,完成各自的任务。以下是对该教务系统设计的一些...

Global site tag (gtag.js) - Google Analytics