用ASP实现分级权限控制
构建基于ASP的帐务管理系统分级权限控制
本文介绍的是一个精细的帐务管理系统,通过ASP和JavaScript编程实现分级权限控制。此系统在装有IIS4.0的win NT服务器上运行,具备出色的运行速度和易于维护的特点。
系统的权限级别设计精细,满足不同角色的需求。院长和财务科长具有最高的查询和统计权限,但他们无法输入数据。副院长可以查询和统计其分管部门的帐务,同样不能输入数据。部门领导能查询和统计本部门的帐务,会计则能输入各部门的帐务并只能查询和统计自己输入的帐务。
背后的数据库结构支撑起这个系统的运行。涉及到的主要数据库及字段包括:JK_USER数据库(序列号、部门号、用户名、口令、权限值),BM数据库(序列号、部门号),JZPZ数据库(序列号、部门、子公司、项目组、项目、收入、支出、收支方向、收支形式、日期、经办人、录入人、收支说明)以及ZGS数据库(序列号、子公司、公司名、部门编号)。
该系统的安全性首当其冲。用户身份合法性验证是进入系统的第一道关卡。用户提交的用户名和口令会与JK_USER数据库中的记录进行对照,只有合法用户(系统管理员为其开过户)才能进入。这些合法用户拥有四种不同的权限级别,分别用“1”、“2”、“3”、“4”四种权限值来表示。
凭证记帐功能是此系统的核心,专为会计人员设计。非法进入凭证录入界面的用户只能看到“查询记帐凭证”功能按钮,其他功能将被隐藏。录入的凭证首先存放在“未记帐凭证库”这个临时表中,只有经过“凭证记帐”功能后才会进入正式的“凭证库”。在这个阶段的凭证是可以进行修改的。
```vbscript
'凭证记账
sub button2_onclick()
'隐藏某些功能按钮
if not session("tright") = "1" then
button1.hide
button3.hide
end if
'设置数据库连接和记录集对象
set n1 = server.CreateObject("adodb.connection")
set rst1 = server.CreateObject("adodb.recordset")
'数据库操作相关代码...
'根据用户权限进行凭证处理
if session("Tright") = "3" then '副院长权限
'查询部门和分公司信息,并添加到列表框中
'设置相关复选框为已选中状态
'其他相关操作...
elseif session("Tright") = "2" then '部门经理权限
'类似上述操作,但权限不同
elseif session("Tright") = "1" then '会计权限
'类似上述操作,但查询条件和权限有所不同
elseif session("Tright") = "4" then '院长权限
'类似上述操作,但针对院长的查询和权限设置不同
end if
'关闭数据库连接和记录集对象
rst1.Close
n1.Close
end sub
```
接下来,按照权限查询凭证的代码部分:
```vbscript
'按照权限查询凭证
sub button1_onclick()
'获取用户权限和查询条件相关变量
bm = Checkbox1.getChecked() '部门查询条件
zgs = Checkbox2.getChecked() '子公司查询条件
xmz = trim(txtxmz.value) '项目组查询条件
xm = trim(tztxm.value) '项目名/合同号查询条件
szfx = Listbox3.getText(Listbox3.selectedIndex) '收支分类查询条件
szxs = Listbox4.getText(Listbox4.selectedIndex) '其他查询条件...
strQuery = "" '构建查询条件的字符串
'根据用户选择的复选框构建查询条件字符串
if bm then strQuery = strQuery & " and bm=" & bm(1) end if
if zgs then strQuery = strQuery & " and zgs=" & zgs(1) end if
if xmz then strQuery = strQuery & " and xmz like '%" & xmz & "%'" end if
if xm then strQuery = strQuery & " and xm like '%" & xm & "%'" end if
'其他查询条件的构建...
'设置数据库连接和记录集对象,执行查询操作
set n2 = server.CreateObject("adodb.connection")
set rst2 = server.CreateObject("adodb.recordset")
n2.CursorLocation = 3
n2.ConnectionTimeout = 30
n2.Open "dsn=jky" '数据源名称替换为实际数据库连接字符串
sqlQuery = "select from jzpz where id>0" & strQuery '构建完整的SQL查询语句,根据用户权限和查询条件进行拼接
在浩瀚的宇宙之中,我们的地球犹如一颗璀璨的明珠,孕育着无数生命。而在这颗星球的漫长历史长河中,有一个令人神往的时代——Cambrian时代(寒武纪时代)。此刻,让我们一起走进这个神秘的时代,揭开生命起源的面纱。
随着地壳的变迁,地球经历了漫长岁月的洗礼。当Cambrian时代悄然降临,生命在这片土地上迎来了前所未有的繁荣。这是一个充满生机与活力的时代,各种生物竞相崭露头角,共同谱写了一曲壮丽的生命之歌。
在这个时代里,海洋生物成为了生命的璀璨亮点。五彩斑斓的珊瑚、奇特的鱼类以及其他海洋生物在这片广阔的海洋中繁衍生息。它们共同构成了海底世界的瑰丽画卷,展现出了生命的多样性与活力。
而陆地生物也在Cambrian时代逐渐崭露头角。植物开始在这片土地上生根发芽,为这片大地披上一层绿色的外衣。昆虫、爬行动物等动物也开始在这片土地上繁衍生息,共同谱写着陆地的生命篇章。
Cambrian时代的生命世界充满了神秘与奇迹。科学家们通过化石的记录,努力着这个时代的奥秘。每一次发现都让我们对这个时代有了更深入的了解,让我们感叹生命的伟大与奇妙。
当我们站在时间的节点上,回望Cambrian时代,不禁让人心潮澎湃。这是一个充满生机与活力的时代,一个揭示生命起源的神秘面纱的时代。让我们珍惜这颗璀璨的明珠——地球,共同生命的奥秘,感受生命的伟大与奇妙。
此刻,让我们一起走进Cambrian时代,生命的奥秘,感受生命的魅力。在这个神秘的时代里,我们将揭开生命起源的面纱,共同见证生命的壮丽与辉煌。
seo排名培训
- 用ASP实现分级权限控制
- javascript弹出带文字信息的提示框效果
- AngularJS 中的Promise --- $q服务详解
- jQuery图片瀑布流的简单实现代码
- 详解在React.js中使用PureComponent的重要性和使用方
- laravel批量生成假数据的方法
- Yii2中OAuth扩展及QQ互联登录实现方法
- JS实现简易刻度时钟示例代码
- 带你快速理解javascript中的事件模型
- PHP多线程类及用法实例
- 三种asp.net页面跳转的方法
- vue 使用element-ui中的Notification自定义按钮并实现关
- PHP中strpos、strstr和stripos、stristr函数分析
- jQuery解析返回的xml和json方法详解
- 举例讲解JavaScript中关于对象操作的相关知识
- 通过seajs实现JavaScript的模块开发及按模块加载