OA系统权限管理设计方案学习

学习之:http://www.cnblogs.com/kivenhou/archive/2009/10/19/1586106.html

此为模型图:

据此写了sql语句:

drop table if exists tb_Action;
 
drop table if exists tb_Company;
 
drop table if exists tb_Department;
 
drop table if exists tb_Module;
 
drop table if exists tb_Permit;
 
drop table if exists tb_Permit_Group;
 
drop table if exists tb_Position;
 
drop table if exists tb_Position_Permit;
 
drop table if exists tb_Position_User;
 
drop table if exists tb_Project;
 
drop table if exists tb_Project_User;
 
drop table if exists tb_Role;
 
drop table if exists tb_Role_Permit;
 
drop table if exists tb_User;
 
drop table if exists tb_User_Permit;
 
/*==============================================================*/
/* Table: tb_Action                                             */
/*==============================================================*/
create table tb_Action
(
   ActionCode           varchar(20),
   ActionName           varchar(20),
   ActionValue          varchar(20)
);
 
/*==============================================================*/
/* Table: tb_Company                                            */
/*==============================================================*/
create table tb_Company
(
   CompanyCode          varchar(20),
   CompanyName          varchar(20)
);
 
/*==============================================================*/
/* Table: tb_Department                                         */
/*==============================================================*/
create table tb_Department
(
   DepartmentCode       varchar(20),
   DepartmentName       varchar(20),
   ParentDepartment     varchar(20),
   DepartmentDescription varchar(256),
   CompanyCode          varchar(20)
);
 
/*==============================================================*/
/* Table: tb_Module                                             */
/*==============================================================*/
create table tb_Module
(
   ModuleCode           varchar(20),
   ModuleName           varchar(20),
   ModuleValue          varchar(20),
   LinkUrl              varchar(256),
   ParentModule         varchar(20),
   ModuleDescription    varchar(256)
);
 
/*==============================================================*/
/* Table: tb_Permit                                             */
/*==============================================================*/
create table tb_Permit
(
   PermitCode           varchar(20),
   ModuleCode           varchar(20),
   ActionCode           varchar(20),
   PermitValue          varchar(20)
);
 
/*==============================================================*/
/* Table: tb_Permit_Group                                       */
/*==============================================================*/
create table tb_Permit_Group
(
   GroupCode            varchar(20),
   GroupName            varchar(20),
   PermitCode           varchar(4000)
);
 
/*==============================================================*/
/* Table: tb_Position                                           */
/*==============================================================*/
create table tb_Position
(
   PositionCode         varchar(20),
   PositionName         varchar(20),
   PositionDescription  varchar(256),
   ParentPosition       varchar(20),
   DeptCode             varchar(20)
);
 
/*==============================================================*/
/* Table: tb_Position_Permit                                    */
/*==============================================================*/
create table tb_Position_Permit
(
   PositionCode         varchar(20),
   PermitCode           varchar(4000)
);
 
/*==============================================================*/
/* Table: tb_Position_User                                      */
/*==============================================================*/
create table tb_Position_User
(
   PositionCode         varchar(20),
   UserId               int
);
 
/*==============================================================*/
/* Table: tb_Project                                            */
/*==============================================================*/
create table tb_Project
(
   ProjectCode          varchar(20),
   ProjectName          varchar(20),
   ParentProject        varchar(20),
   ProjectDescription   varchar(256)
);
 
/*==============================================================*/
/* Table: tb_Project_User                                       */
/*==============================================================*/
create table tb_Project_User
(
   ProjectCode          varchar(20),
   UserId               int,
   IsLead               int
);
 
/*==============================================================*/
/* Table: tb_Role                                               */
/*==============================================================*/
create table tb_Role
(
   RoleCode             varchar(20),
   RoleName             varchar(20),
   RoleDescription      varchar(256)
);
 
/*==============================================================*/
/* Table: tb_Role_Permit                                        */
/*==============================================================*/
create table tb_Role_Permit
(
   RoleCode             varchar(20),
   PermitCode           varchar(4000)
);
 
/*==============================================================*/
/* Table: tb_User                                               */
/*==============================================================*/
create table tb_User
(
   UserId               int,
   UserName             varchar(20),
   Password             varchar(50),
   TrueName             varchar(12),
   DeptCode             varchar(20)
);
 
/*==============================================================*/
/* Table: tb_User_Permit                                        */
/*==============================================================*/
create table tb_User_Permit
(
   UserId               int,
   RoleCode             varchar(100),
   PositionCode         varchar(100),
   ProjectCode          varchar(100),
   PermitCode           varchar(4000)
);
 
 
时间: 2024-11-09 18:45:40

OA系统权限管理设计方案学习的相关文章

OA系统权限管理设计方案

(转)OA系统权限管理设计方案 OA系统权限管理设计方案     不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本的功能.     可以对“组”进行权限分配.对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情.所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配.    权限管理系统应该是可扩展的.它应该可以加入到任何带有权限管理功能的系统中.就像是组件一样的可以被不断的重用

OA系统权限管理设计(转载)

不论什么系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统加入亮点. l         不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最主要的功能. l         能够对"组"进行权限分配.对于一个大企业的业务系统来说,假设要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情.所以,系统中就提出了对"组"进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配. l 

OA系统权限管理

首先我们在登录的时候就需要将角色的权限全部获取到,然后放到session作用域中 然后在功能页面拿出来,进行一个判断,看看他有些什么权限,可以显示什么功能模块 然后再显示页面就可以进行相应的显示

系统权限管理设计 (转)

权限设计(初稿)      1. 前言:      权限管理往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真.针对不同的应用,需要根据项目的实际情况和具体架构,在维护性.灵活性.完整性等N多个方案之间比较权衡,选择符合的方案.      2. 目标:      直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要简单,包括概念数量上的简单和意义上的简单还有功能上的简单.想用一个权限系统解

系统权限管理设计 (转:http://blog.csdn.net/chexlong/article/details/37697555)

权限设计(转:http://blog.csdn.net/chexlong/article/details/37697555) 1. 前言: 权限管理往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断"Who对What(Which)进行How的操作"的逻辑表达式是否为真.针对不同的应用,需要根据项目的实际情况和具体架构,在维护性.灵活性.完整性等N多个方案之间比较权衡,选择符合的方案. 2. 目标: 直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重

基于RBAC权限管理模型学习

在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理. 在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色.角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收. 角色与角色的关系可以建立起来以囊括更广泛的客观情况. BAC支持三个著名的安全原则:最小权限原则,责任分离原则和数据抽象原则. (1)最小权限原则之所以被RBAC所支持,是因

Android权限管理知识学习记录

一.Android权限背景知识 在Android 6.0之前,所申请的权限只需要在AndroidManifest.xml列举就可以了,从而容易导致一些安全隐患,因此,在Android 6.0时,Google为了更好的保护用户隐私提出了新的权限管理机制,同时将其分为两大类: (1)Normal Permissions Normal Permission一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动,访问网络等. (2)Dangerous Permission Dangerous Perm

OA(权限管理初步模块)

权限管理:一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少.权限管理几乎出现在任何系统里面,只要有用户和密码的系统. 根据权限管理的套路,我们一般从这三个角度考虑权限问题:(用户,角色,权限) 用户和角色:多对多关系(一个用户可有多个角色,多个角色也可同属一个用户) 新建一张关系表:(sys_user_role)设定各自的外键 如图所示:我们需要在员工类中植入对应的关系 角色和权限:多对多关系(一个角色可有多个权限,多个权限也可同属一个角色) 新建一张

ASP.NET大中小型系统权限管理设计

每个系统几乎都会有权限管理这一模块,我也为许多个大中小项目搭建过权限管理的模块,总结了一些经验和设计的思想,现在分享给大家,欢迎大家指出不足和一起交流. 下面我列出数据库权限模块的表设计,为了做最大的分享,下面的SQL语句和代码都是能直接运行. BEGIN TRANSACTION CREATE TABLE [dbo].[UserAccount]( [ID] [bigint] IDENTITY(1,1) NOT NULL, [CreatedDate] [datetime] NOT NULL, [C