基于用户的安全策略在B/S中的实现(1)

    在用ASP,JAVASCRIPT与ORACLE开发一套税务系统的后台管理软件时,我们成功的实现了基于用户组与用户的安全策略,并在灵活性,安全性方面达到了较好的效果。我们将分存贮结构,菜单管理,权限分配,安全检查四个方面将基于用户的安全策略在B/S中的实现介绍给大家。

1        存贮结构
存贮结构对于本系统来说就是数据库表的结构主要由以下几个表:

A.菜单表(CDB)

字段名

字段说明

类型

备注

CDBH

菜单编号

NUMBER(3)

非空主键

FCDBH

父菜单

NUMBER(3)

 

CDMC

菜单名称

VARCHAR2(40)

 

QXWS

权限位数

NUMBER(2)

 

RKLJ

入口路径

VARCHAR2(50)

 

XGWJ

相关文件

VARCHAR(200)

 

SFQY

是否启用

CHAR(1)

DEFAULT 1

B.用户组表(YHZB)

字段名

字段说明

类型

备注

SSDW

所属单位

CHAR(4)

非空主键

YHZBH

用户组号

CHAR(4)

非空主键

YHZMC

名称

VARCHAR2(40)

 

YHZQX

权限

CHAR(100)

 

YHGS

用户个数

NUMBER(3)

DEFAULT 0

SFQY

是否启用

CHAR(1)

DEFAULT 1

C.用户表(YHB)

字段名

字段说明

类型

备注

SSDW

所属单位

CHAR(4)

非空主键

YHBH

用户编号

CHAR(4)

非空主键

SSYHZ

用户组

CHAR(4)

 

DLM

登陆名

VARCHAR2(25)

 

DLMM

登陆密码

VARCHAR2(40)

 

YHXM

用户姓名

VARCHAR(20)

 

YHQX

用户权限

CHAR(100)

 

SFQY

是否启用

CHAR(1)

DEFAULT 1

权限的存贮采取的是“位”的方式,根据系统规模,我们估计系统的菜单项不会超过100个,则定义了100位作为权限的存贮。如用户表中的用户权限字段,如果用户在第1位上不具备该权限,则第一位为“0”,反之,如果用户在第1位上有该权限,则第一位为“1”。

菜单表用来存贮系统中所有的菜单项,通过提供的编辑方法,可以对菜单表中的菜单项进行添加修改删除,从而为灵活性打下基础。根据菜单编号与父菜单编号的对应关系,根据递归原理,很容易实现多级菜单,顶级菜单的父菜单编号为0。权限位数是菜单表中比较关键的一个字段,它表明该菜单在权限上的存贮的位置,例,如果菜单编号为10的菜单项的权限位数为10的话,当某用户的权限第10位为“1”时就表明该用户有使用菜单编号为10的菜单项的权力,反之,则没有。

用户组表用来存贮系统中所有的用户组,通过提供的编辑方法,也可以对其进行灵活编辑。关键字段为用户组权限为100位的字符串,存贮该用户组的权限。

用户表用来存贮系统中所有的用户,通过提供的编辑方法,可以对其进编辑操作。关键字段为用户权限为100位的字符串,存贮该用户的权限。该权限是在建立用户时从该用户所属的用户组继承过来的,建立好用户时也可以单独对用户的权限进行修改。

其它字段将在后面的介绍中提到,在此不做详细说明。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值