新闻发布系统.docx
- 文档编号:18298079
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:34
- 大小:747.43KB
新闻发布系统.docx
《新闻发布系统.docx》由会员分享,可在线阅读,更多相关《新闻发布系统.docx(34页珍藏版)》请在冰点文库上搜索。
新闻发布系统
滨江学院
学年论文
题目
院系
专业
学生姓名
学号
指导教师王军
职称教授
二O一二年十二月十日
声明
本人郑重声明:
1、持以“求实、创新”的科学精神从事研究工作。
2、本论文是我个人在导师指导下进行的研究工作和取得的研究成果。
3、本论文中除引文外,所有实验、数据和有关材料均是真实的。
4、本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。
5、其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。
作者签名:
日期:
目录
1.引言2
2.需求分析3
2.1新闻浏览3
2.2新闻类别管理3
2.3新闻管理4
2.4新闻审核4
2.5用户管理4
2.6权限管理4
2.7新闻发布5
3.新闻系统设计5
3.1数据库设计5
3.2系统结构设计7
3.3界面流程设计7
4.系统功能实现9
4.1技术介绍9
4.1.1ASP.NET9
4.1.2WebService10
4.1.3SQLServer200010
4.1.4系统安全11
4.1.5WebService安全12
4.2新闻浏览12
4.2.1界面设计12
4.2.2主要代码的实现16
4.3后台管理16
4.3.1用户登录界面设计17
4.3.2添加类别18
4.3.3修改类别18
4.3.4添加用户19
4.3.5修改用户19
4.3.6添加角色19
4.3.7修改角色20
4.3.8用户角色20
4.3.9角色权限20
4.3.10添加新闻22
4.3.11修改新闻23
4.3.12审核新闻24
4.3.13用户服务25
5.结束语26
基于ASP.NET的新闻系统设计
***
南京信息工程大学计算机与软件学院,南京210044
摘要:
随着人们生活节奏的加快,报纸和电视新闻由于自身的局限性,…
关键词:
ASP.Net;新闻显示;新闻审核;用户管理(3-5个关键字)
1引言
伴随着网络的出现,网页逐渐融入人们的生活。
快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体——Internet。
它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。
制作网页是企业和个人的宣传自己的重要手段,同时也是用户获取各类信息的重要手段。
如今,人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。
也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。
随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任。
而网站信息发布系统大大减轻了网站更新维护的工作量,通过信息后台维护程序在浏览器上只需录入文字、图像就可以快速实现信息维护,从而大大加快了信息的传播速度,时时保持网站的活动力和影响力。
新闻发布系统,是将网站上的需要经常变动的信息,类似公司动态、企业新闻、新产品发布、促销活动和行业动态等变更信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程序。
网站信息通过一个操作简单的界面加入数据库,然后通过已有的网页模板格式与审核流程发布到网站上。
目前许多企业网站的新闻大多是静态的HTML页面,每次更新信息需要做一个页面,然后FTP上传,再修改页面链接,这样维护非常麻烦,而网站新闻发布系统大大减轻了网站更新维护的工作量,通过新闻后台维护程序在浏览器上只需录入文字和上传图片就可以快速实现新闻维护,从而大大加快了信息的传播速度,随时保持网站的活动力和影响力。
网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。
站在网络时代的前夜,我们清晰地听到了网络时代的宣言:
谁掌握了网络,谁就掌握了未来。
2需求分析
该系统提供了两种权限:
普通用户和系统管理员。
普通用户可以在前台分类浏览新闻,也可登陆后台修改密码;管理员有3类:
新闻管理员负责添加和修改新闻;审核管理员负责审核新闻,只有经过审核的新闻才能在前台提供给用户浏览;系统管理员负责添加新闻类别、新闻类别的修改和删除、新闻栏目管理、用户管理、权限管理等功能,最后,完成系统的发布。
从以上叙述来看,新闻管理系统具体包括以下几个方面的功能:
2.1新闻浏览
前台新闻显示功能主要显示系统的新闻资源,在首页上列出各类新闻的前5项列表,单击更多可显示关于此新闻类别的所有新闻。
具体功能如下:
新闻列表:
按标题和发布时间将新闻列出。
并且按照新闻的发布日期排序,最新发布的新闻排在前面,即每类新闻显示其最新发布的5条新闻
浏览显示:
通过单击新闻标题,出现一新的页面,用户可以浏览相关的新闻内容。
2.2新闻类别管理
新闻是按类别进行组织的,新闻类别可以动态增加、修改或删除。
新闻类别的组织管理可以大大提高系统的灵活性和扩展性。
新闻类别管理的具体功能如下:
添加新闻类别:
在文本框里输入要添加的新闻类别后,按提交则添加到数据库中,按清空则可重新添加一新类别。
修改新闻类别:
将数据库中所有新闻类别以列表的形式列出,修改新闻类别只涉及到新闻类别名称的变更,不影响其他数据。
删除新闻类别:
在删除新闻类别之前,需先考虑删除该类别的新闻。
2.3新闻管理
新闻管理功能实现新闻内容的更新与维护,在后台,为管理员提供输入、修改、删除各类新闻的功能。
添加新闻:
添加新闻功能包括添加新闻标题、新闻类别的选择、关键词、发布时间、新闻内容,用户可以在新闻内容中插入图片。
修改新闻:
将所有新闻以列表的形式列出,当单击某条新闻的“预览”字段后,转入相应的修改页面,可以修改新闻标题、类别、关键词、发布时间、新闻内容.修改完后,按提交则将修改后的数据保存到数据库中。
删除新闻:
删除新闻的同时,该新闻包括的其他内容一并从数据库中删除。
2.4新闻审核
完成新闻的录入后,在审核新闻页面中,将所有新闻以列表的形式列出,单击审核操作按钮后,新闻审核状态发生改变。
只有经过审核的新闻,才能显示在前台,供用户浏览。
2.5用户管理
用户管理包括管理员和普通用户,管理员有新闻管理员、系统管理员和审核管理员。
新闻管理员负责添加、修改、删除新闻;
系统管理员负责添加、修改类别,添加、修改用户,添加、修改角色,用户角色、角色权限管理;
审核管理员负责对新闻的审核,并将结果保存到数据库中;只有经过审核的新闻才能显示在前台,供用户浏览。
普通用户登录后,进入后台可以修改个人密码。
2.6权限管理
系统的每个用户均属于一个角色,角色不同,新闻的管理权限不同。
此模块的功能包括系统角色维护、用户角色的分配和角色权限的设置。
角色维护:
角色维护功能主要包括添加角色、修改角色和删除角色。
删除角色时需首先考虑删除该角色的用户。
用户角色分配:
为每个用户分配角色,并设置是否是新闻管理员、系统管理员、审核管理员,如不设置,则默认为普通用户。
角色权限设置:
设置每一个角色允许管理的新闻类别。
可以添加或修改新闻权限
2.7新闻发布
将做好的新闻发布系统通过安装IIS和建立虚拟目录将新闻发布出去,供用户浏览。
3新闻系统设计
在软件项目开发的需求分析阶段,我们已经搞清楚了软件要做什么的问题,对于一个实际的开发项目,需要把这些需求通过需求说明书文档描述出来,此即是目标系统的逻辑模型。
接下来的工作是要把软件做什么的逻辑模型转换为怎么做的物理模型,即着手去实现软件的需求,并将设计的结果反映在设计说明书文档中,此阶段即为设计阶段。
新闻系统设计主要包括数据库设计、系统结构设计、界面流程设计。
3.1数据库设计
系统数据库是动态新闻发布系统的重要部分,本系统使用SQLServer2000作为应用程序的数据库。
系统至少需要实现新闻、用户、角色等数据,因此本系统数据库至少应包含新闻类别表(News_Category)、新闻信息表(News_News)、角色表(Roles)、角色类别关系表(RoleCategory)、用户表(Users).
(1)News_Category表(新闻类别表)
新闻类别表中包含新闻类别的编号、名称信息,其中,将CategoryId字段设置为自动增长,自动增长量为1,并设置为主键。
该表的描述如表1所示:
表1News_Category表的字段说明
编号
字段名称
字段类型
字段说明
1
CategoryId
int
自动增长,主键
2
CategoryName
nvarchar
类别名称
(2)News_News表(新闻信息表)
在设计新闻信息表时,需要将与新闻相关的其他因素也考虑在内,如新闻的发布时间,审核标志,关键字等,当添加一条新闻后,将NewsId字段设置为自动增长,自动增长量为1,并设置为主键。
将新闻的审核标记设置为0,这就需设置flag字段的默认值为0。
该表的描述如表2所示:
表2 News_News表的字段说明
编号
字段名称
字段类型
字段说明
1
NewsId
int
自动增长,主键
2
CategoryId
int
新闻类别标识
3
CategoryName
nvarchar
新闻类别名称
4
NewsDate
datetime
发布时间
5
Title
nvarchar
新闻标题
6
Content
nvarchar
新闻内容
7
Keywords
nvarchar
关键字
8
flag
bit
审核标志,默认为0
(3)Roles表(角色表)
角色表中主要存储系统角色的编号、名称信息,其中,将RoleId字段设置为自动增长,自动增长量为1,并设置为主键。
该表的描述如表3所示:
表3 Roles表的字段说明
编号
字段名称
字段类型
字段说明
1
RoleID
int
自动增长,主键
2
RoleName
nvarchar
角色名称
(4)RoleCategory表(角色类别关系表)
角色种类关系表主要存储角色种类和新闻种类的关系信息,使用了Roles表的RoleName和News_Category表的CategoryName作为该表的属性列。
该表的描述如表4所示:
表4 RoleCategory表的字段说明
编号
字段名称
字段类型
字段说明
1
RoleName
nvarchar
角色名称
2
CategoryName
nvarchar
新闻类别名称
(5)Users表(用户表)
用户表主要存储用户信息,包括用户编号、用户帐号、用户密码、用户Email地址,用户所属角色,用户身份,即是属于管理员中的哪一类,或是普通用户。
如不设置,则默认为普通用户。
该表的描述如表5所示:
表5 Users表的字段说明
编号
字段名称
字段类型
字段说明
1
UserID
int
自动增长,用户表识
2
UserName
nvarchar
用户帐号
3
Password
nvarchar
用户密码
4
nvarchar
用户Email地址
5
RoleName
nvarchar
用户所属角色
6
IsAdministrator
nchar
用户身份
3.2系统结构设计
由于本系统的业务逻辑并不复杂,可以将业务逻辑代码直接放到窗体的后台代码文件中。
在访问数据库时,设计一个通用数据访问类,其包含访问数据库的方法,这样,可避免重复编写数据访问的代码。
Web窗体通过调用通用数据访问类中的方法来实现对数据库的访问。
通用数据访问类(DBAccess.cs)的方法描述见表6。
表6 通用数据访问类方法描述
接口
参数
返回值
描述
GetDataSet(stringsql)
sql
DataSet
得到数据集
ExeSql(stringsql)
sql
无
表的记录操作
3.3界面流程设计
本系统用到的窗体和用户控件见表7和表8所示。
表7窗体和用户控件
文件名
说明
NewsDefault.aspx
新闻浏览主界面
NewsShow.aspx
显示新闻界面
AddClass.aspx
添加新闻类别界面
GaiClass.aspx
修改新闻类别界面
AddNews.aspx
添加新闻界面
续表7
文件名
说明
GaiNews.aspx
修改新闻列表形式显示界面
GaiNews2.aspx
修改新闻具体显示界面
AddRole.aspx
添加角色界面
Role.aspx
修改角色界面
AddUser.aspx
添加用户界面
GaiUser.aspx
修改用户界面
CheckNews.aspx
审核新闻界面
RoleComp.aspx
角色权限管理界面
UserLogin.aspx
用户登录界面
UserRole.aspx
用户角色管理界面
UserService.aspx
用户服务界面
Foot.ascx
页面底部显示的用户控件
Header.ascx
页面顶部显示的用户控件
MasterPage.master
新闻浏览页面的模版
Back.master
后台管理模版
表8各类新闻窗体
文件名
说明
Sports.aspx
体育新闻界面
Native.aspx
国内新闻界面
Internation.aspx
国际新闻界面
Financial.aspx
财经新闻界面
Technology.aspx
科技新闻界面
Entertainment.aspx
娱乐新闻界面
Health.aspx
健康新闻界面
Society.aspx
社会新闻界面
Education.aspx
教育新闻界面
Military.aspx
军事新闻界面
Premises.aspx
房产新闻界面
Car.aspx
汽车新闻界面
用户进入新闻系统后,首先显示的是主页面NewsDefault.aspx,在该页面可以实现不同类别新闻的浏览,首页上显示了某类新闻已经经过审核的前五条新闻,列出了其新闻标题和发布日期,并按发布日期降序排列,实现最新发布的新闻显示在最上面,在每类新闻的右下脚,设置了一个超链接,名为“更多”。
单击后,显示此类新闻的所有新闻标题和发布日期,当然,单击最上面的新闻类别名称后,也可实现相同功能。
当点击某一新闻标题后,就进入显示页面NewsShow.aspx,具体显示此条新闻的标题、内容、发布日期;因此当在主页的左下角单击“进入后台管理”链接可进入登录页面UserLogin.aspx,经审核并判断角色后进入相应的功能页面,在页面里可完成相应的管理功能。
4系统功能实现
4.1技术介绍
4.1.1ASP.NET
.NET是Microsoft公司在快速发展的软件技术世界中维持领先的保证,ASP.NET则是开发.NET应用程序的语言之一。
ASP.NET是对传统ASP技术的重大升级和更新,它是建立在.NET框架的公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序.ASP.NET提供了一种编程模型和结构.对比原来的Web技术,它能更快速、更容易地建立灵活、安全和稳定的应用程序。
ASP技术的出现使服务器端程序开发变得简单易行,ASP.NET则进一步拉近了桌面应用开发和Web开发的距离.尽管ASP.NET的语法基本上与ASP兼容,但其还提供了一个新的编程模型和基础结构,从而提高了应用程序的安全性、缩放性和稳定性。
ASP.NET是一个编译的、基于.NET的环境,可用任何与.NET兼容的语言创作应用程序。
本系统采用C#开发。
C#是一种新型的、简练的、面向对象的编程语言,它是从C/C++发展而来的。
C#主要用于编写基于Microsoft.NET平台的应用程序,非常适用于编写Web程序。
C#特点有:
(1)支持快速开发:
借助于VisualStdio开发工具,可以通过拖放的形式添加组件,并自动生成组件需要的代码,同时在VisualStdio2005中,自动生成的代码与手动控制的代码相隔离,让开发人员更容易检查自己的设计。
(2)支持面向对象:
面向对象是开发程序的一种机制,是专指在程序设计中采用封装、继承、抽象等设计方法,其重点是类的设计。
而C#中什么都是面向对象,连一个字符串都是面向对象的设计。
(3)对XML强大的支持:
XML语言已经成为一种标准的数据描述语言,支持XML开发也成了衡量一种语言是否强大的标准。
C#对XML语言的支持,体现在强有力的XML框架类中,尤其是命名空间“System.Xml”中,提供了一系列对XML读取的操作类,使XML程序的开发变得非常容易。
(4)面向组件的开发:
面向组件是继面向对象后的又一流行趋势,属于设计方法的一种。
在C#中最具特色的组件就是ADO.NET数据访问组件。
组件设计也是C#考虑最多的一种形式,组件可以在开发中直接使用,也可以调用对象提供的方法来操作。
4.1.2WebService
WebService主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
从更深的层次上来看,WebService是一种新的网络应用程序分支。
是自描述、自包含、模块化的应用。
WebService就是基于网络的分布式模块化组件,它遵循一系列技术规范,使得WebService能和兼容组件进行互操作。
它可以通过一系列相关技术在网络中被描述、发布、查找和调用。
WebService所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以WebService可以在任何支持这些标准的环境中使用。
4.1.3SQLServer2000
SQLServer2000所示一个巨大而复杂的数据库管理系统。
SQLServer2000是完全支持Web的数据库产品,提供了对可扩展标记语言(XML)的核心支持,以及在Internet上和防火墙外进行查询的能力。
并使得数据的管理与分析更加灵活,便于用户更加容易适应快速发展的新环境。
SQLServer2000数据库提供了一套管理工具和实用程序,可以用于设置、管理、查询SQLServer2000中的数据,并进行数据库管理和备份,管理其安全性和一致性。
企业管理器是SQLServer2000中最重要的一个管理工具,用户和系统管理员可以使用他在本地或远程管理网络、计算机、服务和其他系统组件。
可以在企业管理器中按如下步骤来创建数据库。
(1)选择“开始”->“MicrosoftSQLServer”->“企业管理器”任务项,即可打开“SQLServerEnterpriseManager”窗口
(2)在“控制台根目录”选项中,依次展开“MicrosoftSQLServer”->“SQLServer组”->“Local(WindowsNT)”分支项之后,右击“数据库”文件夹,在弹出的快捷菜单中选择“新建数据库”命令项。
(3)此时即可打开“数据库属性”对话框,在“名称”文本框中输入新建数据库的名称“NEWS”,在“排序规则名称”下拉列表中可以选择要使用的排列规则,一般情况下都使用“服务器默认设置”选项。
(4)设置好选项之后,单击“确定”按钮,即可完成NEWS数据库的创建。
在使用数据库的过程中,接触最多的就是数据库中的表。
表是存储数据的地方,是数据库中最重要的部分,管理好表也就是管理好了数据库。
表实质就是行列的集合,每一行代表一条记录,每一列代表记录的一个字段。
本系统中创建的表有:
新闻类别表(News_Category)、新闻信息表(News_News)、角色表(Roles)、角色类别关系表(RoleCategory)、用户表(Users)。
4.1.4系统安全
在网络环境下,由于种种原因,网络被入侵和攻击是难免的,可谓是防不胜防,但是,通过加强管理和采用必要的技术手段可以减少入侵和攻击行为,避免可能因入侵和攻击而造成的各种损失。
网络管理人员应认真分析各种可能的入侵和攻击形式,制定符合实际需要的网络安全策略,防止可能从网络和系统内部或外部发起的攻击行为,重点防止那些来自具有敌意的国家、企事业单位、个人和内部恶意人员的攻击。
防止入侵和攻击的主要技术措施包括访问控制技术、防火墙技术、入侵检测技术、安全扫描、安全审计和安全管理。
这些安全技术相互支持与协作,各自解决安全问题的某一方面。
其中,访问控制技术和入侵检测是信息系统中不可或缺的安全措施。
(1)基于角色的访问控制
访问控制是网络安全保护和防范的核心策略之一,其目的是为了保证系统的内部和外部用户,对系统资源的访问、使用,以及对系统中敏感信息的访问、存取,都受安全策略的控制。
随着计算机技术和应用的发展,特别是网络应用的发展,这一技术迅速应用于计算机信息系统的各个领域。
访问控制技术可以有效地拒绝XX的非法用户于系统之外,也可以保证网络资源不被非法的访问和使用。
基于角色的访问控制被认为是一种更普遍适用的访问控制模型。
它基于用户在系统中的角色来规定其访问权限,它是根据安全策略划分出不同的角色,资源访问许可被封装在角色中,同时为用户指派不同的角色,用户通过角色间接地访问资源。
基于角色的访问控制相比于其他的访问控制技术,其优势在于它对管理能力的支持。
一个基于角色的访问控制系统建立起来后,主要的管理工作即为分配或取消用户的角色。
用户的责职发生变化时,赋予不同的角色,也就改变了用户的权限。
当组织的功能变化或演进时,只需删除角色的旧功能,增加新功能,或定义新角色,而不必更新每一个用户的权限设置。
它可以减少授权管理的复杂性、降低管理开销,并为管理员提供一个比较好的实现安全策略的环境。
(2)入侵检测技术
入侵检测技术是网络安全技术和信息技术结合的产物。
使用入侵检测技术可以适时监视网络系统的某些区域,当这些区域受到攻击时,能够及时检测和立即响应。
入侵检测的内容涵盖了授权的和非授权的各种入侵行为,例如,违法安全策略行为、冒充其他用户、泄露系统资源、恶意行为、非法访问,以及授权者滥用权力等。
用于入侵检测的所有软硬件系统称为入侵检测系统,这个系统可以通过网络和计算机动态地搜集大量关键信息资料,并能及时分析和判断整个系统环境的目前状态,一旦发现有违反安全策略的行为或系统存在被攻击的痕迹等,立即启动有关安全机制进行应对。
入侵检测系统可用于动态检测,也可用于静态检测。
静态检测的主要目的是事后恢复、进一步分析等。
入侵检测的一般过程包括采集信息、信息分析和入侵检测响应三个环节。
新一代的入侵检测系统部署方便、应用灵活、功能强大、并提供攻击签名、检测、报告和事件关联等配套服务功能的智能化系统。
入侵检测是一门综合性技术,既包括适时检测技术,也有事后分析技术。
尽管用户希望通过部署入侵检测技术来增强网络安全,但不同的用户需求不同。
由于攻击的不确定性,单一的入侵检测技术产品可能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新闻 发布 系统