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

OpenJWeb 1.6版本Java快速开发平台矩阵组织结构及Spring Security权限实现方法

阅读更多

矩阵结构的数据库设计:

组织结构表(单位ID,部门ID,上级部门ID,...)

用户表(单位ID,部门ID,用户ID,用户名称,口令...)

组织结构关系表(部门ID,用户ID)

上述表中如何体现矩阵型的组织结构?在用户表中有一个部门ID,关联组织结构表的部门ID,这样部门和用户是一对多的,即一个行政部门有多个用户,一个用户只能属于一个行政部门;

利用组织结构表和组织结构关系表可建立多对多的组织结构-人员关系,这样用户除了属于一个行政部门外,如果要体现兼职,或者属于多个群组,可利用此表存储多对多关系.这样即有组织结构表反映垂直的组织结构关系,又可利用组织结构-人员多对多关系建立任意的关联.

在使用了Spring Security的权限框架的系统中,一个完整的用户权限集合是:

用户-权限+用户-角色-权限+用户按行政部门的组织结构权限+用户按群组(即多对多的组织结构)划分获得的权限,在openjweb中实现了所有上述权限,其数据库的视图参考如下:

create or replace view v_user_auth as
select a.user_id,a.login_id,b.comm_code,b.auth_name,b.auth_resource from
comm_user a,comm_auth b ,comm_user_auth c
where c.user_id = a.user_id
and c.auth_id = b.auth_id
union
select a.user_id,a.login_id,b.comm_code,b.auth_name,b.auth_resource from
comm_user a,comm_auth b , comm_user_role d,comm_role_auth e
where a.user_id = d.user_id
and d.role_id = e.role_id
and e.auth_id = b.auth_id

union
select distinct a.user_id,a.login_id,b.comm_code,b.auth_name,b.auth_resource from
comm_user a,comm_auth b , comm_org_emp_rel d,comm_dept_auth e
where a.user_id = d.user_id
and d.org_id = e.dept_id
and e.auth_id = b.auth_id

union

select distinct a.user_id,a.login_id,b.comm_code,b.auth_name,b.auth_resource from
comm_user a,comm_auth b ,comm_dept d ,comm_dept_auth e
where a.dept_id = d.pk_id
and d.row_id = e.dept_id
and e.auth_id = b.auth_id;

说明:comm_auth为权限基本信息表;

comm_user_auth为用户权限关系表

comm_user_role为用户角色关系表

comm_role_auth为角色权限关系表

comm_roles为角色表

comm_org_emp_rel为组织结构人员关系表(即多对多关系表)

comm_dept_auth为组织结构权限表

comm_dept为组织结构基本信息表

目前openjweb已经实现了用户,角色,权限,组织结构基本信息录入及用户-权限,用户-角色关联,角色授权,组织结构-人员多对多维护,组织结构授权等功能,形成了一个完整的权限管理解决方案.

分享到:
评论

相关推荐

    OpenJWeb1.6Java快速开发平台功能手册090315

    ### OpenJWeb 1.6 Java快速开发平台关键知识点 #### 第一章 OpenJWeb(v1.6)介绍 **1.1 开源技术集成** - **基础框架**:OpenJWeb 1.6 基于 Spring、Struts2、Hibernate3、Spring Security 和 DWR 这些成熟的技术...

    java实现矩阵的基本运算。

    在Java编程环境中,矩阵的基本运算是一项重要的任务,尤其在处理线性代数问题时。以下是对标题和描述中提到的各个知识点的详细说明: 1. **矩阵的相加**:矩阵相加是将对应位置的元素相加。如果两个矩阵具有相同的...

    Java实现的求逆矩阵算法示例

    Java实现的求逆矩阵算法示例 本文主要介绍了Java实现的求逆矩阵算法,涉及java基于数组的矩阵遍历与运算相关操作技巧。下面将详细介绍该算法的实现细节。 矩阵逆矩阵算法 矩阵逆矩阵算法是线性代数中的一种重要...

    图的邻接矩阵实现及广度优先搜索(JAVA)

    本文将深入探讨如何使用Java实现图的邻接矩阵以及如何在该数据结构上执行广度优先搜索(BFS)。 **邻接矩阵** 邻接矩阵是一种二维数组,它用来表示图中顶点之间的连接。如果图是无向的,邻接矩阵是对称的;如果图...

    数据结构 用Java语言实现矩阵 可视代码

    Java作为一种广泛使用的编程语言,被用于实现各种数据结构,包括矩阵。矩阵是一种特殊的二维数组,广泛应用于图形处理、物理学、工程计算、机器学习等多个领域。 在Java中实现矩阵,首先我们需要理解矩阵的基本概念...

    java实现求出矩阵的逆矩阵

    使用java实现求矩阵的逆矩阵,使用者可根据吱声需要采纳

    矩阵式的组织结构.pdf

    3. 快速反应机制:矩阵式组织结构可以快速反应市场的变化,快速实现企业的战略目标。 三、矩阵式组织结构在中国的实践 矩阵式组织结构在中国的实践是伴随着跨国公司的进入而开始的。许多大型跨国公司,如微软、IBM...

    Strassen矩阵连乘问题,Java实现

    (2)考虑n不是2的幂次方,n为偶数的情形,设计一个传统方法与的Strassen算法相结合的矩阵相乘算法,取n=12实现分治递归(可以有多种方案实现); 矩阵A,B元素自动生成,限定矩阵元素在0-10之间。

    Java复数矩阵库——JamPack

    Java复数矩阵库JamPack是一个专门用于处理复数矩阵计算的高效工具,它为Java开发者提供了方便、快捷的复数矩阵运算功能。在数学和工程领域,复数矩阵的运算广泛应用,例如在信号处理、图像分析、物理模拟等多个场景...

    ZxingUtil生成二维码适用JDK1.6及以下

    在高版本的Java中,可以使用JavaFX或Swing的图形组件来实现颜色的定制,但在JDK1.6中,我们通常依赖于AWT(Abstract Window Toolkit)进行图形操作。ZxingUtil通过AWT提供的Graphics2D类来实现对二维码颜色的控制。 ...

    java实现的矩阵转换算法—适合java入门

    本文将深入探讨如何使用Java语言实现矩阵转换算法,并为Java初学者提供一个学习实例。矩阵是由有序数组构成的矩形,通常用大括号{}表示,其元素是数字或变量。矩阵的操作主要包括加法、乘法、转置和逆矩阵等。 1. *...

    spring-security-oauth2文档

    Spring Security OAuth2 Boot 2.6.8作为Spring Security OAuth2支持的最后一个版本,为开发者提供了在Spring Boot项目中实现OAuth2认证授权功能的便捷途径。通过合理的依赖管理和配置,可以快速构建出安全可靠的授权...

    矩阵转置java程序

    ### 矩阵转置Java程序详解 #### 一、程序概述 本Java程序实现了一个基本功能:将一个4x4的矩阵进行转置。转置是指将矩阵的行和列进行交换,使得原矩阵中的第i行第j列元素变成转置后矩阵中的第j行第i列元素。该程序...

    (Java语言实现的矩阵的基本运算)矩阵的加法乘法

    在编程中,尤其是在Java这种面向对象的语言中,我们可以创建类来表示矩阵,并实现矩阵的基本运算,如加法和乘法。以下是对Java语言实现矩阵基本运算的详细解析。 1. **矩阵类的设计**: - 首先,我们需要定义一个`...

    数据结构(java版本)

    总的来说,《数据结构(Java版本)》是一本适合程序员入门的教材,通过学习,你可以系统地掌握数据结构和算法,并用Java语言进行实现,为今后的软件开发打下坚实的基础。无论你是准备面试,还是想要提升编程技能,这...

    java版本矩阵类

    Java版本的矩阵类是编程中处理数学计算,特别是在科学计算和数据分析领域不可或缺的一部分。这个特定的矩阵类提供了对复数矩阵的支持,以及一系列高级的线性代数操作,如QR分解、奇异值分解(SVD)和求解特征值与...

    java数据结构课程设计稀疏矩阵

    在这个"java数据结构课程设计稀疏矩阵"项目中,我们将深入探讨稀疏矩阵的概念,以及如何使用Java来实现这一数据结构。稀疏矩阵是处理大量非零元素比例较小的矩阵时的有效工具,因为它可以节省存储空间。 首先,让...

    java算法——上三角、下三角、对称矩阵

    为了实现这些功能,开发者可能会使用Java的二维数组或者更高级的数据结构,如ArrayList的嵌套使用,来存储矩阵元素。在操作过程中,注意处理边界条件和异常,以确保程序的健壮性。 总的来说,理解和掌握上三角、下...

    (Java语言实现的矩阵的基本运算)矩阵的加法乘法.rar

    了解这些基本概念后,你可以打开提供的Java源代码,分析其结构和算法,以便深入理解矩阵运算在Java中的实现,并可以尝试将其应用到自己的项目中,或者用C#重写这些功能。无论你是初学者还是有经验的开发者,这都将是...

    求矩阵伴随矩阵的java实现

    使用java实现求矩阵的伴随矩阵,使用者可以根据自身需要进行采用

Global site tag (gtag.js) - Google Analytics