APP下载

消防档案管理系统的权限设置与实现方法

2018-11-15

关键词:系统管理员用户名管理员

田 富 国

(泉州经贸职业技术学院慈山分院, 福建 安溪 362411)

为了给消防安全管理工作人员提供一个共享数据处理的平台,学院建设了消防安全管理信息系统。该系统平台是基于客户端/服务器设计的,通过消防档案管理子系统对消防档案实现统一管理。在服务对象上,除了消防安全管理部门工作人员外,还有一般用户。为了防止一般用户对档案数据造成破坏,需要进行用户权限设置。另外,一些重要的档案数据可能不宜对所有用户开放,因此也需要对档案数据的访问权限进行设置[1-2]。

1 消防档案管理子系统概述

系统功能:建立消防文档电子档案,统一存储在中央服务器中;能够对消防文档资料进行修改和删除;可以自动导入消防文档;可以对用户和消防档案资料进行权限设置,以防止对档案数据造成破坏和对重要档案数据造成泄密。

消防档案管理子系统的数据流如图1所示。

图1 系统的数据流图

消防档案管理子系统的结构如图2所示。

图2 系统的结构

2 用户表及用户权限设置

2.1 用户表的设计

系统的用户有5种类型:系统管理员、消防主管、消防档案管理员、消防设施管理员和一般用户。设计的用户表(usertable)如表1所示。

表1 系统用户

2.2 用户权限设置

对系统用户的权限进行如下设置:

权限(authority)为0,表示系统管理员;权限为1,表示消防主管;权限为2,表示消防档案管理员;权限为3,表示消防设施管理员;权限为4,表示一般用户。系统管理员可以设置用户权限允许,以控制用户对系统的使用。消防档案管理员有查看档案、录入档案和修改档案的权限,其他用户只有查看档案的权限。

权限允许(permission)为0,表示允许该用户使用系统;权限允许为其他,表示该用户还未被允许使用系统。

3 档案表及档案访问权限设置

3.1 档案表的设计

档案资料内容,以image类型字段存入数据库。在数据库中,同时保存档案编号、档案名、档案类型、建档时间、建档人等信息。设计的档案表(archive)如表2所示。

表2 档案表

3.2 档案访问权限设置

对档案访问权限进行如下设置:

权限为0,属于最高访问级别。此类档案资料仅供系统管理员、消防主管、消防档案管理员查看,不允许消防设施管理员和一般用户查看。

权限为1,属于中等访问级别。此类档案资料可供系统管理员、消防主管、消防档案管理员和消防设施管理员查看,不允许一般用户查看。

权限为2,属于最低访问级别。此类档案资料允许所有用户查看。

4 档案安全管理措施

系统对档案的安全管理主要是从2个方面进行控制:(1) 在系统菜单上,限制不同用户类型使用系统的功能;(2) 在子模块中,控制某些用户使用系统的查询功能。根据档案的级别和用户的类型,通过程序进行限制。

4.1 系统菜单控制措施

系统管理员可以对用户的权限允许进行设置,以控制用户对系统的使用。消防档案管理员具有查看档案的权限,同时具有录入和修改档案的权限;其他用户只有查看档案的权限。

要求用户以某个身份登录系统。依据用户身份类型,通过程序设置系统菜单,限制用户使用系统功能。这里要设计2个模块,即用户注册模块和系统菜单设置模块。

4.1.1 用户注册模块设计

在用户注册窗口,用户选择用户身份,输入用户名和密码,点击“确定”按钮,进行用户注册。

检索数据库中的用户表,查看用户名是否已经注册。若该用户名未被注册,则根据用户选择的用户身份设置用户权限和权限允许。最后将用户信息(用户名、密码、用户权限和权限允许)存入用户表中。“确定”按钮的clicked事件代码如下:

string name, qx,qxyx

if ddplb_1.text="" then

messagebox("错误!","请选择用户身份!",exclamation!,ok!,2)

else

if sle_1.text="" or sle_2.text="" then ∥判断用户输入的用户名和密码是否为空

messagebox("错误!","用户名或密码不能为空!",exclamation!,ok!,2)

else

SELECT username ∥检索用户名记录

INTO :name

FROMusertable

WHERE username= :sle_1.text;

If name<>"" then

messagebox("错误!","该用户已经存在,请选择另外的用户名!",exclamation!,ok!,2)

else

∥注册用户

choose case ddplb_1.text

case "系统管理员"

qx="0"

qxyx="1"

case "消防主管"

qx="1"

qxyx="1"

case "消防档案管理员"

qx="2"

qxyx="1"

case "消防设施管理员"

qx="3"

qxyx="1"

case "一般用户"

qx="4"

qxyx="0"

end choose

insert into usertable(username,password,authority,permission)

values(:sle_1.text,:sle_2.text,:qx,:qxyx);

commit;

choose case ddplb_1.text

case "系统管理员","消防主管","消防档案管理员","消防设施管理员"

messagebox("注册申请提交!","注册用户申请已提交!请您等待系统管理员的充许,并请记住您的用户名和密码!",Information!,ok!,2)

case "一般用户"

messagebox("注册用户成功!","请记住您的用户名和密码!",Information!,ok!,2)

end choose

end if

end if

end if

4.1.2 系统菜单设置模块设计

用户类型和系统功能匹配表如表3所示。其中,√表示某种用户类型允许使用某项功能,×表示某种用户类型不允许使用某项功能。

表3 用户类型与系统功能匹配

声明一个全局变量right,用来存放用户的权限。在密码登录模块中,用户登入系统时,判断用户类型,并对全局变量right进行设置。在主窗口w_main的open事件中,根据全局变量right的值,设置菜单项的可用性。这样就可以根据登录用户的类型,限制用户对系统某些功能的使用,从而避免档案数据遭到有意或无意的破坏。

主窗口w_main的open事件代码如下:

If right=0 then

m_main.m_消防档案管理.m_消防档案录入.enabled=false

m_main.m_消防档案管理.m_消防档案修改.enabled=false

m_main.m_消防档案管理.m_消防档案打印.enabled=false

m_main.m_消防档案管理.m_档案自动导入.enabled=false

m_main.m_消防档案管理.m_档案权限设置.enabled=false

end if

if right=1 then

m_main.m_消防档案管理.m_消防档案录入.enabled=false

m_main.m_消防档案管理.m_消防档案修改.enabled=false

m_main.m_消防档案管理.m_档案自动导入.enabled=false

m_main.m_消防档案管理.m_用户权限设置.enabled=false

end if

if right=2 then

m_main.m_消防档案管理.m_档案权限设置.enabled=false

m_main.m_消防档案管理.m_用户权限设置.enabled=false

end if

if right=3 or right=4 then

m_main.m_消防档案管理.m_消防档案录入.enabled=false

m_main.m_消防档案管理.m_消防档案修改.enabled=false

m_main.m_消防档案管理.m_消防档案打印.enabled=false

m_main.m_消防档案管理.m_档案自动导入.enabled=false

m_main.m_消防档案管理.m_档案权限设置.enabled=false

m_main.m_消防档案管理.m_用户权限设置.enabled=false

end if

4.2 子模块控制措施

档案访问权限有3个级别:低级(权限为2)、中级(权限为1)和高级(权限为0)。访问权限属于低级别的档案,允许所有用户查看;中级别的档案,不允许一般用户查看;高级别的档案,仅供系统管理员、消防主管、消防档案管理员查看,不允许消防设施管理员和一般用户查看。

用户类型和档案访问权限匹配如表4所示。其中,▲表示某种用户类型被允许访问某种级别的档案,-表示某种用户类型不被允许访问某种级别的档案。

表4 用户档案访问匹配表

在档案查询子模块中,根据档案的级别和用户类型,通过程序进行控制,限制某些用户对中级别和高级别档案的访问。程序中,right是全局变量,存放用户的权限。在用户登录系统时,已对它赋过值。设置过滤查询的代码如下:

string expression

dw_1.settransobject(sqlca)

dw_1.retrieve()

if right=3 then

expression="accessauthority like 1 or accessauthority like 2"

end if

if right=4 then

expression="accessauthority like 2 "

end if

dw_1.setfilter(expression)

dw_1.filter()

5 结 语

在消防安全管理信息系统中,对消防档案权限和用户权限进行设置,并通过程序进行控制,限制用户对档案的访问,有助于防止一般用户对档案数据造成破坏,避免重要档案数据被泄密。通过在系统菜单和子模块上采取安全限制措施,系统中的消防档案管理更加科学、合理,档案数据的安全性也有了更好的保障。

猜你喜欢

系统管理员用户名管理员
《护士进修杂志》投稿程序
我是小小午餐管理员
《护士进修杂志》投稿程序
我是图书管理员
我是图书管理员
可疑的管理员
《护士进修杂志》投稿程序
机智的快递员
计算机文件安全管理系统研究与设计
Windows 7中将采用Xml格式保存日志文件