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

    技术2022-05-11  88

        在用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)