`
z95001188
  • 浏览: 41573 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用户权限管理设计(数据库)

阅读更多

   由于项目需要!需要在一套现有系统上开发权限管理系统!

       先说说之前的权限是怎么管理的吧. 当时由于时间有限.所以只是临时管理权限

 

        首先数据库有一个权限字段. varchar  USER_RIGHT

        里面放入 0....1..0 指定长度的字符串.同时创建一个权限字典表进行管理...

        这样. 我们在制定用户相关的权限时候. 查询该字段.某个长度为1的 说明拥有该权限....长度权限表示通过字典表管理

 

        此方法使用比校见得.但是管理却很麻烦..使用程序中进行管理. 相对后台拥有树形节点的 不方便隐藏相关节点信息

 

   现在来说说 项目中现在使用的权限管理..

      使用数据库表设计来管理

   表:

        MW_SYS_MENUS  菜单表.

        MW_SYS_ROLES  角色表.

        MW_USER_INFO 用户表.

        MW_SYS_MENU_ROLE  菜单角色表.

        MW_SYS_USER_ROLE  用户角色表.

 

        通过以上五张表进行相关权限管理分配

 

         简单说下. 用户表 .  角色表  .  菜单表 .  是三张独立主表

         需要注意一下的是. 菜单表设计室需要用到树形结构.推荐技术(DOJO, JQUERY ,EXT)

         所以该表的设计可以使用自关联实现

            ID(ID)  PARENT_ID(父节点ID)  NAME (菜单名称)  .....

            1            null                       系统管理

            2             1                         用户管理

            3             1                         角色管理

            4             1                         菜单管理

            5            null                       财务管理

            6             5                         财务报表查询

            .

            .

 

         相关的.角色菜单表..关联 角色表 和 菜单表 不用的角色看到不同的菜单. 相互制约. 如:

                    用户管理 

                    角色管理

                    菜单管理

                    物流报表查询

                    短信发送

                    等等....

                   以上一系列菜单通过 不同的角色指定.             

 

 

                  用户角色表  关联  用户表  和 角色表  给不同的用户指定不同的角色. 如:

                    系统管理员

                    普通管理员

                    物流管理员 

                   以上三种角色... 通过用户角色表 多对多 关联用户表...

 

 

                 以上就是数据库表结构设计.

                 然后程序中只要开发设计即可(如果有好的建议希望能跟帖说出.谢谢!)

 

 

                 一下贴出我们项目中一些相关图

 

 

 

 

 

  • 大小: 22.6 KB
  • 大小: 72.9 KB
分享到:
评论
8 楼 z95001188 2009-12-03  
后续:
     控制某些IP段才可以登录,所以做了一下改进:
     MW_SYS_USER_ROLE 用户角色表
     USER_ID NUMBER NO 1 用户ID
     ROLE_ID NUMBER NO 2 角色ID
     IP_ROLE NUMBER NO 2 0:正常,1:IP段角色
     增加IP角色字段,
     同时增加用户对应IP表
     MW_USER_IP 用户IP表
     ID NUMBER No 1 SEQ_MW_USER_IP_ID
     USER_IP VARCHAR2(100) Yes 2 用户ID
     IP_ADDRESS VARCHAR2(100) Yes 3 IP段
说明:
     通过设置用户(IP段角色<在规定IP段中,才可以访问的角色>)
     将用户设置IP段角色后,等同于用户有2个角色, 正常登录角色,IP段角色
然后,针对当前用户设置IP,可以设置多IP,
在用户登录的时候,判断用户是否存在于IP段,如果存在,验证当前登录IP是否属于规定的IP,否:登录失败,是:登录成功,进入IP段角色

      这个功能的增加,是企业为了让系统只能在公司访问,或者固定IP才能访问而设计的;
      只是扩展.没有实际改进.
7 楼 xinshou 2009-12-03  
怎么不继续了。
6 楼 Rossalee 2009-12-03  
没下文儿了。
5 楼 laozhao 2009-12-02  
没有专门研究过权限管理,不清楚原来还分为:操作权限和数据权限。
在我看来这些都是不必。其实个人感觉可以通过事物码来解决问题。把所有的画面打开和数据库操作处理都写到business里面。对每一个处理方法添加一个唯一“事物码”。权限管理结合角色和权限等级,在调用每个方法的时候判断权限即可。
这样可以实现最大限度的自由设置。不过不方便管理。毕竟事物码是写在程序中的,没有在数据库中操作方便。
呵呵,只是初步想法,有兴趣可以一起讨论!
4 楼 sdnasky 2009-10-17  
数据级权限

CREATE TABLE [dbo].[FBF_PRIVILEGE](
[ID] [dbo].[ID] IDENTITY(1,1) NOT NULL,
[PRIVILEGE] [varchar](1024) NOT NULL,
[TYPE] [dbo].[TYPE] NULL,
[POLICY_EXPRESSION] [EXPRESSION] NULL,
[POLICY_SCRIPT] [SCRIPT] NULL,
[POLICY_HANDLE] [HANDLE] NULL,
[STATE] [dbo].[STATE] NULL,
[DESCRIPTION] [dbo].[DESCRIPTION] NULL,
[REMARK] [dbo].[REMARK] NULL,
[BACKUP] [dbo].[BACKUP] NULL,
CONSTRAINT [PK_FBF_PRIVILEGE] PRIMARY KEY NONCLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'默认只用填写PRIVILEGE就可以了,程序提供默认权限验证策略。
   例如:PRIVILEGE 可以是 URL、接口名.方法名、菜单名,直接验证。
   如果 PRIVILEGE 为“EXPRESSION”,那么需要执行表达式返回true或false验证。
   如果 PRIVILEGE 为“SCRIPT”,那么需要执行脚本返回true或false验证。
   如果 PRIVILEGE 为“HANDLE”,那么需要执行该类的方法返回true或false验证。' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FBF_PRIVILEGE'
3 楼 hsbljyy 2009-10-16  
都是操作权限吧,数据权限呢?我对数据权限比较感兴趣。呵呵~网上很多操作权限的案例,貌似没有把数据权限讲得比较清楚的。期待楼主能拿出个比较完整的数据权限解决方案。
2 楼 pan19849529 2009-10-16  
最好能把代码贴出来看一下!
1 楼 pan19849529 2009-10-16  
楼主继续啊!

相关推荐

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

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

    权限管理及数据库设计

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

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

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

    关于用户权限的数据库设计

    本文将针对用户权限的数据库设计问题进行深入探讨,分析其设计理念、实现方法,并结合当前流行的开发技术提供解决方案。 首先,我们必须认识到,用户权限设计并非仅是技术问题,还涉及对用户体验和业务逻辑的深刻...

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

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

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

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

    权限管理系统数据库设计

    总之,权限管理系统数据库设计在SQL Server 2005中是一个涉及用户管理、角色分配、权限控制和资源访问等多个层面的复杂任务。理解并熟练应用这些知识点,能帮助我们构建出安全、高效且易于维护的权限管理系统。

    工资管理系统数据库设计报告(数据库课程设计).doc

    这些操作使得系统能够处理复杂的查询,执行权限管理和数据备份,确保系统的安全性和可用性。 7. 运行和维护: 最后,报告讨论了系统的日常操作,如简单的员工信息查询、复杂的薪资计算查询,以及用户管理与权限...

    基于Web的用户权限管理数据库

    在构建基于Web的用户权限管理系统时,数据库设计是至关重要的环节。这个系统旨在提供高效、安全的用户权限管理,确保用户只能访问他们被授权的资源。以下是对这一主题的详细阐述: 1. **用户权限管理基础** 用户...

    比较通用的权限数据库设计

    权限数据库设计是业务系统中非常重要的一部分,它可以实现用户权限管理,控制用户对系统中不同功能的访问权限。本文将详细介绍如何设计一个通用的权限数据库,满足大部分 B/S 系统中对用户功能权限控制的需求。 ...

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

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

    网吧管理系统数据库课程设计.pdf

    8. 权限设计是确保数据安全的重要环节,通过设定不同用户的访问权限,防止未授权的访问和操作。 通过这个课程设计,学生不仅能深入理解数据库理论,还能实际操作,增强SQL语言的应用能力,包括插入、删除、修改和...

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

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

    springBoot+security+mybatis 实现用户权限的数据库动态管理

    总之,结合Spring Boot、Spring Security和MyBatis,我们可以构建一个高效且灵活的用户权限管理系统。通过数据库动态管理权限,不仅可以满足不同用户群体的需求,也能适应业务变化,提高系统的可维护性和安全性。在...

    一套多应用程序用户权限管理的中心 数据库设计

    一套 多应用程序 用户 权限管理 中心 数据库设计,如有不好,请提出建议,多多见谅!

    教务管理系统 数据库设计

    教务管理系统的数据库设计是一个复杂但至关重要的过程,它直接影响到系统的稳定运行和用户体验。通过详细的需求分析、事务需求分析、概念设计、逻辑设计以及物理设计等步骤,可以确保最终设计出的数据库既能满足当前...

    学生宿舍管理系统数据库设计案例

    - 用户子模式设计:根据用户的不同角色,设计不同的视图或访问权限,如管理员可能看到所有信息,而学生只能查看自己相关的数据。 4. 物理设计阶段: 虽然内容未直接提及物理设计,但这是数据库设计的最后一步,...

    8个权限管理系统源码合集【含数据库】.zip

    8个权限管理系统源码合集【含数据库】: Jaoso新闻文章发布系统final+Struts+Spring+Hibernate.rar java web 系统权限设计 源码.rar JAVA权限管理系统2.rar Java酒店管理系统.rar struts+hibernate权限管理系统_...

    通用权限管理系统(设计文档,数据库,及Web和WPF两种实现方式)

    从"通用权限管理系统 _DataBind.rar"来看,这可能包含数据库脚本或者数据库模型,用于创建和初始化权限管理所需的数据表结构。开发者可以通过这些脚本或模型来建立符合系统需求的数据库,确保数据的一致性和完整性。...

Global site tag (gtag.js) - Google Analytics