用 ASP.NET 实现基于三层架构的 OA 系统
文/胡雪松 杨冀源 黄思光
随 着 信 息 化 水 平 的 提高, 办 公 自 动 化(Office
Automation,OA)越来越受到人们
的重视,而先进的工作流技术是当前办公自动化系统的核心,为
了提高各部门之间的工作效率,增强协同办公能力,引入 OA 系统
已十分必要。本文将阐述关于办公自动化的概念和基于 .NET 技术
实现的 OA 系统过程中遇到的问题以及解决方案。
中国论文网2nqq8a |*Ti4K0f'R
中国论文网7X,]
tX
Mu+Q
【关键词】ASP.NET OA 办公自动化
中国论文网CN8N|h*?
1 相关技术介绍
1.1 办公自动化(OA)
办 公 自 动 化(Office Automation, 简 称OA)是将现代化办公和计算机网络功能结合
起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种
新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。在行政机关中,大都把
办公自动化叫做电子政务,企事业单位就都叫OA,即办公自动化。通过实现办公自动化,
或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础
上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。
V
DVN#}w'U(Y3NY0
1.2 三层架构
通常意义上的三层架构就是将整个业务应用划分为:表示层(UI)、业务逻辑层(BLL)、
数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
P$FlU|%@~Y/O0
1.3 ASP.NET技术
.NET 技术是微软公司基于互联网平台的下一代你软件开发架构,其目标是要让所有的
计算机群、相关设备和服务都能够在这一平台下协同工作,而不是传统的只注重于单个网络
或者设备,它提高了更为广泛的空间和更加丰富的解决方案。利用 ASP.NET 编程技术开发
OA 系统有极大的优势,弥补了以往程序复用低、重复劳动大、浏览速度慢的缺点,推动了OA 建设工程的发展。
中国论文网&u_EeX9[-?
1.4 注入式攻击
所谓 SQL 注入式攻击,就是攻击者把SQL 命令插入到 Web 表单的输入域或页面请
求的查询字符串,欺骗服务器执行恶意的 SQL命令。在某些表单中,用户输入的内容直接用
来构造(或者影响)动态 SQL 命令,或作为存储过程的输入参数,这类表单特别容易受到
SQL 注入式攻击。例如攻击者在用户名字和密码输入框中输入 "' 或 '1'='1" 之类的内容,这样
得到最后的 SQL 命令就变为 SELECT * fromUsers WHERE login = '' or '1'='1' AND password = ''
or '1'='1',这样系统就会错误的授权给攻击者。
#y2I*uYw.|0
2 基于ASP.NET的OA实现
2.1 系统登录模块的实现
出于对系统安全级别的考虑,系统登录界面安全的控制通过对用户名和登录密码的校
核,由于 OA 系统是基于网络的,所以登录设置中要有验证码,这样可以防止非人为的恶意登录。
此外,解决 SQL 注入式攻击问题也是必
要的。最常用的方法是将用户登录名称、密码
等数据加密保存,加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于
对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,
从而也就防止了攻击者注入 SQL 命令。另外通过用存储过程来执行所有查询或者检查用户
输入的合法性也是防止 SQL 注入攻击的不错选择。
最后,一定要合理的设计 User 表,用户登录成功后,将需要的数据保存到session中,
不仅可以判断用户是否登录,而且还减少了用户访问数据库操作节省了资源。
xg ]"[xJ6eA0
2.2 系统基础设施模块的实现系统基础设施模块包括子功能模块如内部邮件,日程安排以及系统管理功能等。这可
以通过一个 ListTreeView 控件实现,可以根据
角色以及权限的不同构造不同的 TreeNode 结点。而右边是一个 iframe 框架,可以根据左边
选择的不同无刷新的实现页面的显示。右边显示的界面都是独立的,程序员可以单独的修改
具体界面,增强了程序的可维护性和移植性。TreeNode 的具体代码如下所示:
< a s p : Tr e e N o d e I m a g e U r l = " ~ /i m a g e s / T r e e I m a g e s / d i a r y . g i f "
NavigateUrl="../Meetingroom/Meetingroom.aspx" Target="rform" Text=" 会 议 室 管 理 "Value="A018"></asp:TreeNode>
+Uz
R4piv
bS0
2.3 信息管理功能模块的实现
主要完成对基本信息的增加、删除、修改、查找。信息的增加可以单条的增加也可以
批量的导入。需要注意的是,如果对数据有特殊的格式的限制比如日期和用于计算的数字,可以通过 javascript 代码在前台进行限制。删
除信息可以单条删除也可以批量的删除,查询功能可以按照一个字段或多个字段综合查询,
查询的结果可以导入到 Excel 表里。此外对于修改和增加功能,可以跳转到另一个界面来完
成,但是,考虑到用户体验,本功能可以利用AJAX 里的 ModalPopupExtender 和 Panel 控件实现无刷新的动态显示。
中国论文网4M#]"OF(r#sWq$a~4Y"e A
2.4 其它注意事项
对 于 一 些 常 用 的 函 数, 比 如 文 件 上传,绑定 GridView 等可以放到一个静态的
PublicMethod 类中,可以增加代码的重用,减少了后期维护遇到的困难。另外,需要注意的是,
当项目完成时,在除登录界面外的其它界面加一个 checkSession 函数,判断用户是否登录,
否则跳转到登录界面,增加了系统的安全性。
中国论文网xma|+W1n'a5r_
3 总结
随着创业公司的不断增多,OA 系统的需求量也与日俱增,OA 系统不仅改变了传统手工操作的繁琐、重复劳动、易出错等弊端,同
时大大提高了办公效率。本文所介绍的都是常见的问题及解决方案,具体做法还得根据具体要求具体分析。
{k
Ej-[%fB-l,{8i0
参考文献
[1] 何银川 , 朱胜利 . 现代计算机 [J].2013.
作者单位大连理工大学软件学院 辽宁省大连市116001