-
2022-03-13 17:13:04
网络安全保障体系的总体框架
1.网络安全整体保障体系
计算机网络安全的整体保障作用,主要体现在整个系统生命周期对风险进行整体的管理、应对和控制。网络安全整体保障体系如图1所示。
图1 网络安全整体保障体系
网络系统安全风险评估是一个识别、控制、降低或消除可能影响系统安全风险的过程。是明确安全现状、规划安全工作、制订安全策略,并形成安全解决方案的基础,通过对网络系统的风险评估可以掌控各种潜在风险,并制定出相应的应对措施和应急预案。通过安全控制极大地降低风险,并对残留风险进行及时监控和分析,应急预案及计划可在突发事件发生时做出应急响应和灾难恢复,以确保网络系统及业务数据的安全。
网络安全保障关键要素包括四个方面:网络安全策略、网络安全管理、网络安全技术和网络安全运作,如图2所示。网络安全策略包括网络安全的战略、政策和标准:网络安全管理是指机构的管理行为,主要包括安全意识、组织结构和审计监督;网络安全技术是网络系统的行为,包括安全服务和安全基础设施;网络安全运作是日常管理的行为,包括运作流程和对象管理。
图2网络安全保障因素
在企业管理机制下,需要通过运作机制借助技术手段才能实现网络安全。网络安全运作是在日常工作中,执行网络安全管理和网络安全技术手段,“七分管理,三分技术,运作贯穿始终”,管理是关键,技术是保障,其中的管理应包括管理技术。
与美国ISS公司提出的动态网络安全体系的代表模型的雏形P2DR类似。该模型包含4个主要部分:Policy(安全策略)、Protection(防护)、Detection(检测)和 Response(响应)。P2DR 模型如图3所示。是在整体的安全策略的控制和指导下,在综合运用防护工具(如防火墙、操作系统、身份认证、加密等)的同时,利用检测工具(如漏洞评估、入侵检测等),掌握并评估系统的安全状态,通过恰当运作及响应将系统调整到“最安全”和“风险最低”的状态。防护、检测和响应组成了一个完整动态的安全循环,在安全策略的控制和指导下保证信息系统的安全,而此模型忽略了其内在的变化因素。
图3 P2DR 模型示意图
2.网络安全保障体系框架结构
面对网络系统的各种威胁和风险,以往针对单方面具体的安全隐患,所提出的具体解决方案具有一定其局限性,应对的措施也难免顾此失彼。面对新的网络环境和威胁,需要建立一个以深度防御为特点的网络信息安全保障体系。
网络安全保障体系框架结构如图3所示。对于网络安全保障体系的外围是法律法规、标准的符合性和风险管理。
图4 网络安全保障体系框架结构
【拓展阅读】:风险管理是指在对风险的可能性和不确定性等因素进行收集、分析、评估、预测的基础上,制定的识别、衡量、积极应对、有效处置风险及妥善处理风险等一整套系统而科学的管理方法,以避免和减少风险损失。网络安全管理的本质是对信息安全风险的动态有效管理和控制。风险管理是企业运营管理的核心,风险分为信用风险、市场风险和操作风险,其中包括信息安全风险。
实际上,在网络信息安全保障体系框架中,充分体现了风险管理的理念。网络安全保障体系架构包括五个部分:
(1) 网络安全策略。以风险管理为核心理念,从长远发展规划和战略角度通盘考虑网络建设安全。此项处于整个体系架构的上层,起到总体的战略性和方向性指导的作用。
(2) 网络安全政策和标准。网络安全政策和标准是对网络安全策略的逐层细化和落实,包括管理、运作和技术三个不同层面,在每一层面都有相应的安全政策和标准,通过落实标准政策规范管理、运作和技术,以保证其统一性和规范性。当三者发生变化时,相应的安全政策和标准也需要调整相互适应,反之,安全政策和标准也会影响管理、运作和技术。
(3) 网络安全运作。网络安全运作基于风险管理理念的日常运作模式及其概念性流程(风险评估、安全控制规划和实施、安全监控及响应恢复)。是网络安全保障体系的核心,贯穿网络安全始终;也是网络安全管理机制和技术机制在日常运作中的实现,涉及运作流程和运作管理。
(4) 网络安全管理。网络安全管理是体系框架的上层基础,对网络安全运作至关重要,从人员、意识、职责等方面保证网络安全运作的顺利进行。网络安全通过运作体系实现,而网络安全管理体系是从人员组织的角度保证正常运作,网络安全技术体系是从技术角度保证运作。
(5) 网络安全技术。网络安全运作需要的网络安全基础服务和基础设施的及时支持。先进完善的网络安全技术可以极大提高网络安全运作的有效性,从而达到网络安全保障体系的目标,实现整个生命周期(预防、保护、检测、响应与恢复)的风险防范和控制。
引自 高等教育出版社 网络安全技术与实践 贾铁军主编 2014.9
更多相关内容 -
工程项目部安全管理组织机构框架图.doc
2021-09-16 08:20:03工程项目部安全管理组织机构框架图.doc -
项目安全管理组织机构框架图(无表式)GDAQ20102.xls
2021-12-20 13:03:44项目安全管理组织机构框架图(无表式)GDAQ20102 -
大数据安全管理框架 Ranger 原理介绍
2019-01-12 14:52:15文章目录一、Ranger是什么二、Ranger的权限模型三、Ranger架构Ranger-adminPluginHive Plugin 授权流程四...ranger大数据领域的一个集中式安全管理框架,它可以对诸如hdfs、hive、kafka、storm等组件进行细粒度的权...文章目录
一、Ranger是什么
ranger大数据领域的一个集中式安全管理框架,它可以对诸如hdfs、hive、kafka、storm等组件进行细粒度的权限控制。比如它可以控制用户读取hdfs文件的权限,甚至可以控制某个用户对hive某个列访问的权限。
ranger目前支持的组件:
二、Ranger的权限模型
Ranger的权限模型一条条的权限策略组成的,权限策略主要由3个方面组成,即用户、资源、权限。
用户:ranger可以对用户进行分组,一个用户可以属于多个分组。Ranger支持对用户或者用户组配置某资源的相关权限。
资源:对于各个不同的组件,资源的表述都不相同。比如在HDFS中,文件路径就是资源,而在Hive中,资源可以指Database、Table甚至Column。
权限:ranger可以对各个资源的读、写、访问进行限制,具体可以配置白名单、白名单排除、黑名单、黑名单排除等条目。
ranger管理员配置好组件的相关策略后,并且将ranger插件安装到具体的大数据组件中,ranger就可以开始生效了。这时用户访问ranger就会进行权限的校验过程了,校验过程如下:
当用户要请求某个资源时,会先获取和这个资源有关联的所有配置的策略,之后遍历这些策略,然后根据黑白名单判断该用户是否有权限访问该资源。从上面的流程图可以看出,黑名单、黑名单排除、白名单、白名单排除匹配的优先级如下:
- 黑名单优先级高于白名单
- 黑名单排除的优先级高于黑名单
- 白名单排除的优先级高于白名单
决策下放:
如果没有policy能决策访问,一般情况是认为没有权限拒绝访问,然而Ranger还可以选择将决策下放给系统自身的访问控制层。
三、Ranger架构
Ranger-admin
ranger-admin是基于Jersey+Spring+EclipseLink框框开发的Web服务,对外提供了Restful风格的http服务。Ranger-Admin模块同样内嵌了jsp界面,用于管理员管理用户、资源、权限等信息。同样,我们可以基于它的Restful Api来编写自己的权限管理sdk。
虽然Jersey和SpringMVC同样实现了JAX-RS(javaee6提供Java API for RESTful Web Services)规范,但是jersey更加适合构建restful风格的服务,因为它天生就是为restful而生的。
EclipseLink 是 JPA(Java Persistence Api)的一种实现,是java的一个ORM框架。
Plugin
那么ranger是如何实现对大数据组件的权限控制访问呢?这就和ranger实现的一个个plugin有关系了。
因为几乎所有的大数据组件都有提供一个抽象的验证接口,ranger就是根据这些接口为各个大数据组件实现了对应的plugin,plugin的工作主要是从Ranger-Admin处拉取该组件配置的所有策略,然后缓存到本地,然后当有用户来请求时提供鉴权服务。
Hive Plugin 授权流程
举个Hive Plugin的授权流程的例子。
对于权限模块,Hive提供了几个接口来给开发者来实现自己的授权策略。他们分别是
- org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizerFactory
- org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizer
其中HiveAuthorizerFactory用来生成HiveAuthorizer的相关实例,之后Hive在进行编译的时候会调用
HiveAuthorizer#checkPrivileges()
方法进行权限校验。我们要实现自己的授权策略,只需实现这两个接口,然后配置一下相关的配置文件即可。Ranger就是通过实现这两个接口来定制自己的授权流程。Ranger对这两个的实现分别是
- org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory
- org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizer
之后配置
hiveserver2-site.xml
文件<property> <name>hive.security.authorization.enabled</name> <value>true</value> </property> <property> <name>hive.security.authorization.manager</name> <value>org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory</value> </property>
重启hiveserver2后生效。
RangerHiveAuthorizer在初始化时会启动一个PolicyRefresher线程定时的从Ranger-admin拉取所有的策略,然后缓存到本地,之后当需要授权时直接根据这些策略进行授权。PolicyRefresher默认是每隔30s拉取一次。
四、一些思考
Ranger的架构其实很简单,主要就是Ranger-Admin和各个组件的Plugin,其代码也大多都是偏业务逻辑的。不过所谓魔鬼在细节,下面探讨一些Ranger在实现上比较有趣或者可以借鉴的地方。
1. 关于组件策略的缓存
由于组件的多样性以及策略的复杂性,在ranger的数据库中,和策略相关的表就多达10来张。也就是说,一个组件要来Ranger-Admin拉取其相关的所有策略时,需要查询这十多张表,然后将其组织成组件需要的数据结构,再转成json返回。这是一个相对耗时较长的操作,另外,不止组件会获取这些策略,web界面或者sdk也可能调用相关接口获取所有策略。
为了提高获取策略的性能,ranger以Service为单位,来缓存这些已经组织好的数据。当数据被缓存起来后,后续的请求只需从内存中获取相关数据即可。—— service可以理解为一个具体的大数据组件
使用缓存会引发另一个问题,怎么判定缓存已经失效?为了解决这个问题,Ranger在Service表中添加了一个字段:policy_version,只要和这个service的策略有关的属性发生了变化,就更新policy_version。当用户请求策略时,发现policy_version和缓存的不一致,就会重新拉取数据,然后更新缓存。
当然,这种缓存策略也很容易引发bug,比如ranger之前有一个bug,它在更新用户组信息时,不会更新该service的policy_version,导致组件拉取到的策略数据还是旧数据。
因此,虽说做这种缓存可以很大程度提高性能,但同时也要格外关注这些缓存的更新问题。
2. 插件类加载器的实现
ranger实现大数据组件的授权接口时,一般需要把打包好的jar包放到对应大数据组件的classpath下供组件加载。同时,ranger在实现授权接口时难免会用到其他的一些第三方库,这时问题就来了:如果把这些第三方库的jar包也放到大数据组件的classpath下,引发的版本冲突该如何解决?
举个例子,比如Hive用到了apache-common-1.0.0,ranger编写hive插件时也用到了apache-common-2.0.0,这时候版本就发生了冲突。如果要完全去兼容hive的第三方库版本是一件很累的事情,同时给hive引入过多的第三方库也会导致一些潜在的隐患。
为了解决这个问题,Ranger定义了自己的一个类加载器,用于加载它使用的那些第三方库。在介绍ranger的自定义类加载器之前,我们先简单回顾一下java中的类加载器的一些概念。
首先我们需要明白一件事,在java中,一个类的唯一性并不是由
包名+类名
来决定的,还要根据类加载器。也就是说,比如有一个类com.Test
,分别有两个不同的类加载器加载,那么它们加载出的两个类就不是相等的。Java中的类加载器
java中常见的类加载器有
-
启动(Bootstrap)类加载器:负责装载<Java_Home>/lib下面的核心类库或-Xbootclasspath选项指定的jar包。由native方法实现加载过程,程序无法直接获取到该类加载器,无法对其进行任何操作。 另外,java中有规定以
java.*
开头的类必须是BootstrapClassLoader来加载的。 -
扩展(Extension)类加载器:扩展类加载器由sun.misc.Launcher.ExtClassLoader实现的。负责加载<Java_Home>/lib/ext或者由系统变量-Djava.ext.dir指定位置中的类库。程序可以访问并使用扩展类加载器。
-
系统(System)类加载器:系统类加载器是由sun.misc.Launcher.AppClassLoader实现的,也叫应用程序类加载器。负责加载系统类路径-classpath或-Djava.class.path变量所指的目录下的类库。程序可以访问并使用系统类加载器。
双亲委派类加载机制:
在java世界中,有一个双亲委派机制,是说要加载一个类的时候,先交给父级类加载器加载,父级类加载器无法加载时,自己才能去加载这个类。
这是我们在实现自己的类加载器时,普遍要遵守的一个机制。但是Ranger实现的类加载器破坏了双亲委派机制,从而将自己使用的第三方库和组件使用的第三方库隔离。由于ranger使用的第三方插件的所有类都是自己定义的类加载器加载的,因此不用担心第三方库冲突的问题。
我们可以看一下安装完ranger插件的hive/lib目录:
只多了两个jar包和一个文件夹
- ranger-plugin-classloader-1.0.1.jar : ranger实现的类加载器的相关代码
- ranger-hive-plugin-shim-1.0.1.jar : 提供了RangerHiveAuthorizerFactory类,用于给hive的类加载器加载
- ranger-hive-plugin-impl : 文件夹,ranger使用的第三方库都放在该目录下,RangerPluginClassLoader加载类时会从该目录下扫描类。
五、总结
虽说ranger是apache的顶级开源项目,覆盖的大数据组件也足够多,但是读过它的部分代码后,觉的ranger代码写的真的挺差的,我们在使用的时候也发现并并修复了一些bug,还针对它的sql做了一些优化。
另外ranger的代码个人感觉业务逻辑偏多,"黑科技"比较少,毕竟只是一个web项目+一些插件实现。不过了解这个项目确实也让我学到了不少东西,还是有一定的价值的,后面打算找一些时间整理一份ranger的安装和使用文档。
-
电子政务框架图说明及电子政务整体框架
2008-11-14 15:34:32框架图解释说明 2 电子政务总体框架 3 一、总体要求与目标 3 二、总体框架的构成 4 三、服务与应用系统 5 (一)服务体系 5 (二)优先支持的业务 6 (三)应用系统 6 四、信息资源 7 (一)信息采集和更新 7 (二)... -
数字化大时代崛起的数据安全能力框架
2021-10-04 21:19:18其中以数据安全治理为核心的数据安全能力框架2.0和零信任身份安全解决方案动态细粒度访问控制能力和业务应用控制相结合,实现对数据流转的精准控制,做到主体的数字身份可信,行为操作合规以及计算环境和数据实体...数据安全背景
**本人博客网站 **IT小神 www.itxiaoshen.com
** **数据化转型过程中数据治理和低代码平台开发都在各自赛道中大放光彩,本篇我们主要讨论当今火热的框题数据安全治理。
** ****2021年9月1日数据安全法开始实行,规格高、范围广、影响远, 非常及时弥补中国在数据安全领域的法律缺失,与国家安全法(2015年7月1日实行)、网络安全法(2017年6月1日实行)、个人信息保护法(2021年11月1日实行)四法并驱建设一张自顶向下全方位、立体化的法律法规体系的安全网,是保障在经济社会发展和安全的落脚点。我们总结提炼几点:第一点数据安全法统一数据定义和范畴,包括什么是数据、数据处理和数据安全,解决各行各业理解的不一致,没有比这部数据安全法在权威的解释了;第二点建立一个数据安全领导体系,中央的国家安全领导机构负责战略决策,国家网信部负责统筹与监管,相关行业主管部门负责本领域的监控职责;第三点明确数据安全和发展的关系,国家既要发展数据安全又要发展数据产业,支持数据开发利用比如制定大数据发展战略、数字经济发展规划,数据安全产品开发,数据安全的检测认证评估培训等等服务;第四点建立国家级数据安全管理制度,这就涉及到数据分类分级保护制度、风险评估、应急处理、审查制度,出口管制等等这些制度建立算是进一步完善数据安全的治理体系;第五点明确数据安全的保护义务和主体责任,比如说不管你是个人还是组织,在数据安全领导哪些能做哪些不能做现在已经说明清楚了,如果踩了红线就得依法处置了。 **
** 2021北京网络安全大会,以“经营安全,安全经营”为主题,随着十四五全面展开,数据化已经贯穿经济社会发展的全领域、多层级,成为国家治理经济发展和社会运行的核心驱动力,而数据作为新的生产要素的核心定位也成为数据化过程中最关键的驱动力,国家发展数据化经济提出更高的要求,数据治理先行同步统筹安全和发展,其中以数据安全治理为核心的数据安全能力框架2.0和零信任身份安全解决方案动态细粒度访问控制能力和业务应用控制相结合,实现对数据流转的精准控制,做到主体的数字身份可信,行为操作合规以及计算环境和数据实体有效防护,推进数据安全治理产品化、体系化走向一个新的台阶。 **
** **随着国庆节前刚刚结束的2021世界互联网大会乌镇峰会,数据安全也作为本次博览会的一大焦点亮相绽放光彩,在数字时代下将诞生越来越多数据安全企业和产品,从以上看从事数据及安全的产业和服务就重大利好了。
数据安全能力框架
数据安全能力框架从原来那种零散和外挂的形式走向深度融合和体系化建设,包括数据应用安全、身份认证安全等等,围绕数据安全能力框架,将会有很多从事数据与安全领域的企业进入数据安全生态中,从管理、技术和运行维护三大视角建立宏观及全方位数据安全意识,抓紧脚步围绕生态体系构建基于自身优势数据安全产品。围绕数据安全生产出更多新的安全能力,在技术视角除了数据全生命周期全规程,特别注意到数据是伴随的业务进行流转的,数据是流动的,数据安全应该和业务有更多的交互形成内生安全或者内置安全,嵌入到整个业务过程内部去产生作用,从数据安全能力的设计上我们也要梳理数据的脉络,把安全能力和举措嵌入进去,产生如隐私计算、区块链IPFS、强访问控制等更多数据安全技术,解决主客体之间访问控制问题。基于业务数据流转的访问控制,区别于RBAC而采用ABAC即基于属性访问控制策略,动态权限访问控制执行如网关、应用代理、API、数据服务Daas,业务应用和数据作为客体评估安全等级,数据治理涵盖了内容识别、数据发现(AI自动化)、数据地图(数据资产可视化、敏感数据地图、合规地图)、数据标签(自动化大标)、分类分级(AI智能分类分级)、资源视图、资源目录、资源属性、安全策略制定。选择重要数据集、梳理相关的业务场景和数据脉络,关键环节(环节包括你的数据在哪、有什么数据、数据行为是什么)到底有哪些重要数据。
数据安全行业剖析2021年9月30日,全国信息安全标准化技术委员会秘书处发布关于对《网络安全标准实践指南——数据分类分级指引(征求意见稿)》公开征求意见的通知
关于对《网络安全标准实践指南——数据分类分级指引(征求意见稿)》公开征求意见的通知** **https://www.tc260.org.cn/front/postDetail.html?id=20210930200900
工业和信息化领域数据安全管理办法试行** **https://www.miit.gov.cn/cms_files/filemanager/1226211233/attach/20219/6b7e6d62a890492996225806cc530144.pdf
** **浙江省作为国家推进数据化改革的先驱,浙江省作省、市、区IRS即一体化数字资源系统和各市、区一体化智能化公共数据平台,立足于政府数据的共享和开放,集合各委办局的数据,紧紧围绕数字化改革总目标,按照“以用促建、共建共享”的原则,打造省市区一体统筹、集约高效、自主可控、安全可信、开放兼容、分级维护的区级一体化智能化公共数据平台,建设完善区级基础设施、数据资源、应用支撑、业务应用、政策制度、标准规范、组织保障、政务网络安全的“四横四纵”八大体系,推动“浙里办”“浙政钉”两大终端应用。有效支撑党政机关整体智治、数字政府、数字经济、数字社会、数字法治全领域改革,数字赋能决策、服务、执行、监督和评价履职全周期。各市区大数据局非常紧凑的推进数据安全包括数据安全管理制度和数据分类分级工作的开展,随着浙江省大数据发展管理局关于征求公共数据安全体系建设指南和评估规范(征求意见稿)意见的函,说明各行各业已经在体系化、标准化制定切实有效的落地到实际建设当中的实施指南,让各级组织单位能否方便开展实施。
** **随着数据安全监管和发挥要求国内已快速形成规模化基于数据安全治理的公司包括卫士通、深信服、全知科技、安恒信息、安华金和、闪捷信息等脱颖而出,分别推出基于数据安全治理咨询服务和数据分类分级、数据安全防护等数据安全治理的产品或工具。基于数据安全发展道路可以形成数据安全治理咨询服务、数据安全治理解决方案实施、数据安全工具化平台产品如自动化数据分类分级、数据安全全生命周期管理平台、数据安全检测和评估机构、数据安全培训机构。数据安全的随着国家发展要求将会快速发展,接下来将会快速形成一大批从事数据安全的企业或机构,你会是这里的一个吗?
** **数据安全需要有系统化工程化方法论指引,如基础理论DSG,数据安全评估理论DSMM、数据安全治理理论等等
数据安全管理规定
浙江省大数据发展管理局关于征求公共数据安全体系建设指南和评估规范(征求意见稿)意见的函
数据分类分级
** **数据分类分级在国家法律法规特别是数据安全法和个人信息保护法和国家标准、地方标准等指导下,立足公共数据安全的起脚点,明确公共数据资产的分布和使用状况,制定数据分类分级的标准指南,实现资产结构化管理和利用,形成体系化政务分类更方便于公共数据的管理,对一体化智能化公共数据进行有效分类分级避免一刀切的控制方式,以便于后续在数据安全管理上采用更加精细的措施,基于数据分类分级制定安全管控策略,使数据在共享使用和安全使用之间获得平横,数据分级通过对不同级别的数据设置相应访问权限、加密规则、脱敏规则等,可大大提升数据安全管控效率,是数据安全精细化管理的重要一步。
** **根据数据分类分级结果,从管理、流程和技术等方面,制定基于数据安全视角的全生命周期数据安全管控策略,管理方面包括不限于规范管理决策职责、规范日常维护职责、规范岗位人员职责等;流程方面包括不限于制定数据安全管理整体机制流程安全管控策略、权限管理操作流程管控策略等;技术方面包括不限于制定基础架构的整体安全支撑技术、加密、脱敏、数据防泄漏等的管控策略。
** **建立数据资产全景视图和数据资源目录,制定数据分类分级审核、批准以及变更流程,从制度管理、技术防护、运行维护等多维度最终实现数据分类分级的闭环管理。
数据安全资料
-
基于Struts2框架的名片管理系统
2020-10-02 13:55:45本篇博文将分享一款基于Struts2框架的名片管理系统,JSP引擎为Tomcat9.0,数据库采用的是MySQL5.5,集成开发环境为Eclipse IDE for Java EE Developers。 名片管理系统主要包括用户管理和名片管理功能。用户功能...目录
本篇博文将分享一款基于Struts2框架的名片管理系统,JSP引擎为Tomcat9.0,数据库采用的是MySQL5.5,集成开发环境为Eclipse IDE for Java EE Developers。
名片管理系统主要包括用户管理和名片管理功能。用户功能主要包括:用户注册、用户登录、修改密码和修改基本信息功能;名片管理主要包括:添加名片、查询名片、修改名片、删除名片功能。
希望通过本篇的学习,朋友们不仅能掌握Struts 2应用开发的流程、方法和技术,还能够熟悉名片管理的业务需求、设计以及实现。
1、系统设计
1、系统功能需求
名片管理系统主要包含以下功能:
- 非注册用户可以注册为注册用户;
- 成功注册的用户,可以登录系统;
- 成功登录的用户,可以添加、修改、删除以及浏览自己客户的名片信息;
- 成功登录的用户,可以在个人中心查看自己的基本信息和修改密码。
2、系统模块划分
用户登录成功后,进入管理主页面(main.jsp)可以对自己的客户名片进行管理。系统模块划分,如下图所示。
名片管理系统功能 2、数据库设计
系统采用加载纯Java数据库驱动程序的方式连接MySQL5.5数据库。在MySQL5.5的数据库card中,共创建两张与系统相关的数据表:usertable和cardinfo。
1、数据库概念结构设计
根据系统设计与分析,可以设计出如下数据结构:
- 用户
包括用户名和密码,注册用户名唯一。
- 名片
包括ID、名称、电话、邮箱、单位、职务、地址、Logo以及所属用户。其中,ID唯一,“所属用户”与“1.用户”关联。根据以上的数据结构,结合数据库设计的特点,可画出如下图所示的数据库概念结构图。
数据库概念结构图 其中,ID为正整数,值是从1开始递增的序列。
2、数据库逻辑结构设计
将数据库概念结构图转换为MySQL数据库所支持的实际数据模型,即数据库的逻辑结构。用户信息表(usertable)的设计,如下表所示:
用户信息表 名片信息表(cardinfo)的设计,如下表所示:
名片信息表 3、系统管理
1、导入相关的jar包
新建一个Struts 2应用cardManage,在所有JSP页面中尽量使用EL表达式和JSTL标签,又因为系统采用纯Java数据库驱动程序连接MySQL5.5以及JSON数据转换。所以,需要将对应的JAR包复制到WebContent\WEB-INF\lib的目录下,JAR包如下图所示:
所需JAR包 2、JSP页面管理
由于篇幅受限,这里仅附上运行效果图,所有实现见源代码。
-
管理主页面
注册用户在浏览器地址栏中输入http://localhost:8080/struts2cardManage/login.jsp访问登录页面,登录成功后,进入管理主页面(main.jsp),main.jsp的运行效果如下图所示:
管理主页面 -
程序报错页面
当Java程序运行出现异常时,系统会执行全局页面error.jsp。
- 无权限提示页面
在没有成功登录的情况下,对名片进行增、删、改、查等操作时,系统执行无权限操作,提示页面nologin.jsp。
- 包文件和配置文件管理
本系统的包文件和配置文件层次结构如下图所示:
包层次结构图 所需包文件说明如下所示:
action包 该包是系统中所有Action类,包括名片管理的Action类和个人中心的Action类。 Conf文件夹 该文件夹的xml文件是本系统所有Action类的配置。“card.xml”是名片管理Action类的配置,“user.xml”是个人中心Action类的配置。这些xml文件需要在struts.xml文件中包含进来。 dao包 dao包中存放的Java程序是实现数据库的操作。其中BaseDao是一个父类,该类负责连接数据库;CardDao是BaseDao的一个子类,有关名片管理的数据访问在该类中;UserDao是BaseDao的另一个子类,有关用户的数据访问在该类中。另外,该包中还有一个名为“jdbc.properties”的文件,该文件是有关数据库的配置。包括驱动类名、数据库URL、用户名以及密码等。 entity包 该包中有1个实体类:Card,封装名片信息。 interceptor包 该包中有1个拦截器类:LoginValidateInterceptor,进行权限控制。 util包 该包中MyUtil类是获得一个时间字符串的工具类。 所需配置文件文件说明如下所示: struts.xml 在软件系统开发中,模块化设计是最常用的一种方式。为了方便管理,本系统也不例外,将不同模块的配置分别放在不同的配置文件中。然后,在struts.xml文件中,通过include引入这些配置文件。 user.xml 该配置文件负责配置和用户有关的Action。 card.xml 该配置文件负责配置个人中心有关的Action,在此处使用了通配符“*”动态匹配Action的请求名称。
4、用户管理
用户功能主要包括:用户注册、用户登录、修改密码和修改基本信息功能。
1、Action的实现
UserAction类负责处理“会员注册”、“会员登录”、“安全退出”以及“个人中心”的功能。
2、注册
在系统默认主页index.jsp,单击“注册”链接,打开注册页面register.jsp,效果如下图所示:
注册页面 在deleteSelect.jsp页面所示的注册页面中,输入“姓名”后,系统会根据Ajax异步请求路径“jsontest/isUse.action”检测“姓名”是否可用。输入合法的用户信息后,单击“注册”按钮,实现注册功能。
3、登录
在系统默认主页index.jsp,单击“登录”链接,打开登录页面login.jsp,效果如下图所示:
登录界面 用户输入姓名和密码后,系统将对姓名和密码进行验证。如果姓名和密码同时正确,则成功登录,将用户信息保存到session对象,并进入系统管理主页面(main.jsp);如果姓名或密码有误,则提示错误。
单击登录界面中“确定”按钮,通过请求路径“user/login.action”,将登录请求提交给Action。配置文件user.xml根据请求路径找到对应Action类UserAction(6.1节)的login方法处理登录请求。
4、修改密码
单击主页面中“个人中心”菜单的“修改密码”菜单项,打开密码修改页面updatePWD.jsp。页面效果如下图所示:
密码修改页面 在密码修改页面中输入“新密码”和“确认新密码”后,单击“修改密码”按钮,将请求通过“user/updatePwd.action”提交给Action。配置文件user.xml根据请求路径找到对应Action类UserAction(6.1节)的updatePwd方法处理密码修改请求。
5、基本信息
单击主页面中“个人中心”菜单的“基本信息”菜单项,打开基本信息页面userInfo.jsp。页面效果如下图所示:
基本信息页面 5、名片管理
与系统相关的JSP页面、CSS和图片位于WebRoot目录下。在第3节中,已经介绍了系统的数据库操作,所以本节只是介绍JSP页面和Action的实现。
名片管理主要包括:添加名片、查询名片、修改名片、删除名片功能。
1、Action的实现
CardAction类负责处理“名片管理”的功能,包括添加、修改、删除、查询等。
2、添加名片
用户输入客户名片的姓名、电话、E-Mail、单位、职务、地址、Logo后,单击“提交”按钮实现添加。如果成功,则跳转到查询页面;如果失败,则回到添加页面。addCard.jsp页面实现添加名片信息的输入界面,如下图所示:
添加名片页面 单击上图中“提交”按钮,将添加请求通过“card/addCard.action”提交给Action处理。配置文件card.xml根据请求路径找到对应Action类CardAction(5.1节)的add方法处理添加功能。添加成功跳转到查询Action;添加失败回到添加页面。
3、查询名片
管理员登录成功后,进入名片管理系统的主页面,在主页面中初始显示查询页面queryCards.jsp,查询页面运行效果如下图所示:
查询页面 单击主页面中“名片管理”菜单的“查询名片”菜单项,打开查询页面queryCards.jsp。“查询名片”菜单项超链接的目标地址是个Action。该Action的请求路径为“card/queryCard.action”,配置文件card.xml根据请求路径找到对应Action类的query方法处理查询功能。在该方法中,根据动作类型(“修改查询”、“查询”以及“删除查询”),将查询结果转发到不同页面。
在queryCards.jsp页面中单击“详情”超链接,打开名片详细信息页面detail.jsp。“详情”超链接的目标地址是个Action。该Action的请求路径为“card/selectACard.action”。配置文件card.xml根据请求路径找到对应Action类的selectA方法处理查询一个名片功能。将查询结果转发给详细信息页面detail.jsp。名片详细信息页面如下图所示:
名片详情 4、修改名片
单击主页面中“管理名片”菜单的“修改名片”菜单项,打开修改查询页面updateSelect.jsp。“修改名片”菜单项超链接的目标地址是个Action。找到对应Action类CardAction的方法query,在该方法中,根据动作类型,将查询结果转发给修改查询页面。
单击updateSelect.jsp页面中的“修改”超链接打开修改名片信息页面updateCard.jsp。“修改”超链接的目标地址是个Action。找到对应Action类CardAction的方法selectA,在该方法中,根据动作类型,将查询结果转发给updateCard.jsp页面显示。
输入要修改的信息后,单击“提交”按钮,将名片信息提交给Action,找到对应Action类CardAction的方法update,在方法中执行修改的业务处理。修改成功,进入查询名片。修改失败,回到updateCard.jsp页面。updateSelect.jsp页面的运行效果如下图所示。
updateSelect.jsp页面 updateCard.jsp页面的运行效果如下图所示:
updateCard.jsp页面 5、删除名片
单击主页面中“管理名片”菜单的“删除名片”菜单项,打开删除查询页面deleteSelect.jsp。
“删除名片”菜单项超链接的目标地址是个Action。找到对应Action类CardAction的方法query,在该方法中,根据动作类型,将查询结果转发给deleteSelect.jsp页面,页面效果如下图所示:
deleteSelect.jsp页面 在上图的复选框中选择要删除的名片,单击“删除”按钮,将要删除名片的ID提交给控制器Action。找到对应Action类CardAction的方法delete,在该方法中,根据动作类型执行批量删除的业务处理。
单击上图中的“删除”超链接,将当前行的名片ID提交给控制器Action,找到对应Action类CardAction的方法delete,在该方法中,根据动作类型执行单个删除的业务处理。删除成功后,进入删除查询页面。
请关注微信公众号,回复关键字:名片管理系统,获取源码~
本文整理来源于:
1、《Java Web开发从入门到实战》陈恒 姜学 主编
2、清华计算机学堂
-
java权限管理框架有哪些?
2021-03-21 09:51:25要想学好java知识,就一定要将java知识熟练运用,每个知识点都不可以放过,比如java权限管理框架有哪些?么接下来,我们就来给大家讲解一下java权限管理框架这方面的内容。1. ralasafe是用Java编写的开源(MIT协议)... -
数字安全框架首发|数字经济腾飞,数字安全护航
2022-04-20 14:11:38数字经济的发展离不开健全的数字经济治理体系和可靠的数字经济安全体系。为了助力数字经济安全发展...该框架涵盖了数字安全的定义、REE( Regulation, Execution,Evaluation)数字安全框架、数字身份框架和元安全框架。 -
权限管理框架
2019-04-15 14:40:52之前看的视频笔记, 做个...Shiro:权限管理框架 权限管理: 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略... -
基于SSM框架(SpringMVC + Spring + Mybatis)的图书管理系统,内附,教程,数据库脚本
2018-03-29 15:44:471 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了... -
安全运营之漏洞管理
2022-04-25 15:18:121947年冯·诺依曼建立计算机系统结构理论时认为,计算机系统也有天生的类似基因的缺陷,也可能在使用和发展过程中产生意想不到的问题。在各种产品、主机、网络和复杂...在安全运营过程中一个最重要的工作就是漏洞管理。 -
【转载】Web前端框架图
2017-06-15 17:54:08今天学堂君在整理相关web前端开发自学知识的时候,发现了一些牛逼的web前端开发工程师已经帮我们整理出来非常方便收藏和学习的知识框架图。非常的实用!无论你是web前端工程师 还是打算进入或者转型web前端开发行业... -
Gartner数据安全治理的整体框架
2020-07-31 19:43:53Gartner对数据库安全治理形成了一个从上而下的整体框架(实施步骤),包括从治理前提、具体目标到技术支撑的完整体系。 Gartner提醒各位数据安全治理专家,从上到下,从需求调研开始实施数据安全治理。千万不要跨过... -
18 | 安全标准和框架:怎样依“葫芦”画出好“瓢”?
2020-08-17 11:21:42实际上,每个公司都需要进行安全体系建设,业内将这些通用性的建设经验进行总结,形成了各种安全标准和框架。从这些标准和框架中,我们能了解到建设安全体系的思路和方向,对于实际的安全落地工作,有很大的指导作用... -
Flask(python web框架)安全
2021-03-04 15:34:45Flask 使用 ORM 对象关系映射的数据库管理方式,同时 Flask 框架内部也封装了许多安全性的函数,对于 SQL 注入拥有一定防护力,如图 Flask 中单引号会自动进行转义 XSS: Flask 使用 Jinja2 模板引擎,Jinja 会默认... -
全球网络安全行业全景图与中国网络安全行业全景图-2022
2022-04-23 08:24:03全球网络安全行业全景图主要参考MOMENTUM CYBER公司公开材料,MOMENTUM CYBER是一家提供世界一流的并购和战略建议、企业战略发展、企业融资和运营的公司。其公开的的cyber scape-2022主要包括18个安全大类,部分大类... -
移动安全测试框架-MobSF环境搭建
2021-07-28 15:38:18移动安全框架(MobSF)是一种自动、一体化的移动应用(Android / iOS / Windows)静态和动态分析的测试,恶意软件分析和安全评估框架。按照中文说明文档就能完成环境搭建,本文记录本地搭建过程及遇到的一下问题。 ... -
Shiro安全框架入门使用方法
2017-08-15 20:18:22框架介绍Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任 何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。... -
网络信息安全知识框架
2018-12-30 22:10:32如需要下列知识的详细内容,欢迎评论或私信联系我。 第0章 基础概述 1.网络信息安全的原则(包括...1.1 网络安全的概念 (信息安全的4个层面、信息安全所涉及学科、研究信息安全的重要性、网络安全的概念) 1.2 ... -
海外丨实施NIST网络安全框架的5个步骤
2018-09-28 14:09:28美国国家标准与技术研究所(National Institute of Standards and Technology)的网络安全框架(简称NIST CSF)的第一个版本于2014年发布,旨在为寻求加强网络安全防御的组织提供指导。它是由来自政府、学术界和各行各业... -
SpringBoot+Security+Vue前后端分离开发权限管理系统
2020-04-10 17:21:16Router 路由框架 Vuex 全局状态管理框架 Axios 前端 HTTP 框架 Element UI 前端 UI 框架 Vue Element Admin 前端模板 Antv 蚂蚁金服可视化技术,阿里巴巴可视化技术... -
最好的 6 款 React 后台管理系统模板和框架
2022-03-21 10:02:03React admin框架繁多,在本文里我们介绍 React 下最好的 6 款后台系统,每款均严格测试后,整理它们的优缺点方便你来挑选。同时我们给出一些实用建议,帮你避免选型时不注意可能导致的埋坑。 -
利用日志管理,溯源追踪解决安全问题
2021-10-15 11:29:54服务器是IT基础设施的关键,但是网络攻击每天都在发生。IT Governance报告显示,仅在2020年11月就有586,771,602条泄露记录。...而当攻击者绕过安全防线发起攻击时,往往都有行为、进程的足迹可以溯源,有. -
基于SSM框架实现一个完整的学生管理系统
2020-10-09 13:12:22这几天用SSM + Redis实现了一个较为完整的学生管理系统,感兴趣的同学可以下载来看看,项目注释写得很多,不失为一个学习的好项目。 Github地址:https://github.com/blizzawang/stu_system 由于项目中使用了Redis... -
分享6个国内优秀Java后台管理框架的开源项目
2018-06-08 11:27:39分享6个国内优秀Java后台管理框架的开源项目,建议收藏!Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台... -
00014_SSM_Shiro安全框架
2022-01-21 19:46:22ShiroFramework是apache旗下一个开源安全框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证/权限授权/密码加密/会话管理等功能,组成一个通用的安全认证框架,使用Shiro就可以非常快速的完... -
大数据权限授权管理框架:Apache Sentry和Ranger
2019-01-05 12:04:14文章目录前言Sentry和Ranger的概述 前言 上篇文章后半部分提到了业界流行的...熟悉掌握使用外部权限管理框架,并且将它们合理地应用于自身内部大数据组件系统内,无疑将会大大提高内部组件使用的安全性。 Sen... -
浅入浅出 Android 安全:第四章 Android 框架层安全
2016-12-05 17:05:12第四章 Android 框架层安全 来源:Yury Zhauniarovich | Publications 译者:飞龙 协议:CC BY-NC-SA 4.0 如我们在第1.2节中所描述的那样,应用程序框架级别上的安全性由 IPC 引用监视器实现。 在 4.1 节中,...