J2EE的安全体系的应用

j2ee|安全|体系

电子平台的安全模式设计
1、    前言  由于电子平台的办公信息的敏感性以及网络的虚拟性和开放性,决定了电子平台系统需要有强有力的用户访问安全、网络安全、系统安全、应用程序安全、数据库和事务管理器安全来保证电子平台系统的安全。而系统采用J2EE框架正是满足以上需要,它不但将安全任务的一些内容转移给容器,且能够提供应用程序员完成安全任务的功能。

2、    方案的整体设计

1、 用户访问安全:

用户访问安全不仅仅是Web访问,还包括其他类型的访问,例如电子数据交互(EDI,Electronic Data Interchange),在电子平台系统中我们主要用到的是webservice。为了保证用户访问的安全性,我们主要从以下几个方面来考虑

Ø         定义验证方法:这部分包括CAS的验证、系统的基本验证

Ø         定义安全角色:为不同的用户建立不同角色,避免了不同角色之间在权限上的混乱。

Ø         为单个的servlet/jsp定义安全角色引用:为一些比较特殊的或则安全级别比较高的servlet/jsp定义安全角色引用。

1)        Web访问:

将电子平台系统所使用的WEB系统配置成安全的WEB系统,采用要求用户访问时提供数字证书的工作方式,使用HTTPS协议保证信息传输的安全性及完整性;将从用户提交的数字证书中获取的用户信息(如姓名)作为在系统中注册、登录的依据,从而保证了在处理业务的时候具有法律性和不可抵赖性。另一方面,HTTPS协议将Web应用与非授权的访问隔离开来。

1)        Web Service

这一部分内容暂定

2、     网络安全 网络安全主要就是保证机密性和信息完整性,为此我们采用了集中认证的登录模式,将有证书和无证书用户的访问隔开来,从而保证了网络的安全性能。下面就是集中认证模式的一个网络视图,其中CA服务器,是采用第三方CA认证机构信诚通的服务器。

集中认证网络示意图

3、 系统安全

系统的安全主要是在用户登录系统的时候对用户的身份验证。

4、 应用程序安全

为J2EE应用程序提供J2EE安全,由于电子平台系统与集中认证的系统相独立,故只需要在电子平台系统中提供J2EE相关安全就可以保证整个系统的安全性。J2EE应用程序安全使用基于角色的安全机制,在开发期间,我们应当通过为特定的安全角色分配安全资源和方法来确定应用程序的安全策略。在应用程序装配期间,安全角色被影射为真实的用户和组。这种两段式安全管理方法给予应用程序很大的灵活性和可移植性,在运行时,J2EE容器负责强迫执行访问控制安全的资源和方法。J2EE容器支持两类安全:

              ·说明性的安全性

              ·可编程的安全性

我们在本系统中采用说明性的安全性,说明性的安全性意味着安全策略在部署描述文件中定义,而不是在应用程序代码中。这样做,一是减轻编码的工作量;二是可以根据客户的要求更改角色,而不需要更改代码。下面我们分为Web模块和Ejb模块来讨论

1)Web模块的说明性安全

        我们在前面的“用户访问安全”讨论的,为了保证用户访问安全,我们从定义验证方法、定义安全角色、为单个的servlet/jsp定义安全角色引用三个方面进行设计的,Web模块的说明性安全就是为了实现“定义安全角色”、“为单个的servlet/jsp定义安全角色引用”这两个要求,为了方便讨论我们将这连个要求分开讨论。

定义的几种角色:

大众用户               everyone

企业用户               enterprise

质检用户               organ

市监督局               city_ surveillance

省监督局               province_ surveillance

国家监督局            country_ surveillance

平台管理员            plat _manager

(A)定义验证方法:

(B)定义安全角色:

(C)定义安全约束:

(D)为单个的servlet/jsp定义安全角色引用(可选):

2)EJB模块的说明性的安全性

        EJB是执行应用程序的业务逻辑的J2EE组件。它是一般用于访问敏感的数据。这样,为EJB指派恰当的策略是非常重要的。

        访问控制应用于单独的会话和实体bean方法,所以只有属于特定安全角色的调用这些方法。会话、实体和消息驱动bean方法在调用者(EJB服务器)的身份下或者一个特定的安全角色下被委托执行。这称为委托策略(Delegation Policy)或者成为以他人身份运行模式映射(Run-As Mode Mapping)。下面主要就我们电子平台的Ejb模块在WSAD上设置安全性的过程。

(A)定义安全角色

(B)指派方法许可

(C)管理委托策略

(D)bean级委托

(E)方法级委托

(F)定义安全角色引用(可选)

5、 数据库和事务管理器的安全

未完成,

3、    系统的安全登录的流程

1、 集中认证登录的一个流程

  

2、 集中认证较普通认证的优势

4、    系统开发过程中注意的事项

前台:将不同的用户分成各自的模块:eterprise(企业)、organ(机构)等等,若有需要可以自己定义,然后做好文档说明,以便部署的时候进行Web模块的说明性安全部署,具体编码规范请参考相关文档。

后台:将不同的用户的一些操作分成各自的模块:eterprise(企业)、organ(机构)等等,每个模块最好由独立的实体Bean,若有需要可以自己定义,然后做好文档说明,以便部署的时候进行EJB模块的说明性安全部署。(关于EJB开发规范、JNDI命名规范请参考《EJB开发规范》、《JNDI命名规范》两个文档)。

5、    总结

数据库和事务管理器的安全这一块内容有待补充。

时间: 2024-09-14 09:02:17

J2EE的安全体系的应用的相关文章

终于了解了下.net 和 j2ee的区别_C#教程

关于.NET技术与Sun公司的Java2企业版(J2EETM)相比较,许多客户都想了解Microsoft公司的观点.由于以下的几个原因,.NET和JEE的比较有点棘手: 1)   一般来说,Windows .NET Framework是Microsoft的Windows系统中经过精心定义的技术部分,而J2EE则是一个书面的协议.如果不局限于学术方面的讨论,换句话说,就是在几个应用平台上讨论这个话题的商业价值,那么仅仅比较J2EE和一个实际应用的工具是没有意义的. 这样实际应用的工具如:IBM公司

CIO成败的关键-ASP.NET开发工具助CIO重新定位

asp.net 企业信息化经过多年的发展,已经深入到很多个领域,尤其是对于大企业来说,从MIS系统到ERP.分销.物流.供应链.OA.EIP(企业信息门户)等等,几乎渗透到工作中的每一个角落.当我们谈论信息化时,也往往从这些独立的系统入手,讨论各个系统该选哪家公司的产品,该怎样进行实施,实施的主角从来都是软件公司和软件公司的产品,而对于起重要作用的企业信息中心,他们却成了上传下达的喉舌,但如果项目失败后,最有可能成为替罪羊的却仍然是信息中心. 问题的症结在哪里?是软件产品不好?企业管理落后?还是

EJB的困惑:组件与可重用性的矛盾

EJB技术正在像其他辉煌过的技术一样走到了一个关口.2000年以前这项技术充满了传奇色彩,被大批企业不假思索地接受.然而理想毕竟是理想,经过了几年的发展,今天这项技术却正在被怀疑或者至少说让技术人员犹豫不决,现实的是J2EE的对手出来了,.NET似乎又有着后发的技术优势.大部分的探讨和争论已经开始转向这两个体系结构的对比.Java阵营内部同样发出了怀疑的声音,最直接的就是对EJB的攻击,因为人们发现原来这项技术所做的承诺似乎都走向了相反的方向 1.大量的案例由于采用了这种技术反而使得系统开发日趋

EJB组件与可重用性的矛盾_JSP编程

EJB技术正在像其他辉煌过的技术一样走到了一个关口.2000年以前这项技术充满了传奇色彩,被大批企业不假思索地接受.然而理想毕竟是理想,经过了几年的发展,今天这项技术却正在被怀疑或者至少说让技术人员犹豫不决,现实的是J2EE的对手出来了,.NET似乎又有着后发的技术优势.大部分的探讨和争论已经开始转向这两个体系结构的对比.Java阵营内部同样发出了怀疑的声音,最直接的就是对EJB的攻击,因为人们发现原来这项技术所做的承诺似乎都走向了相反的方向 1.大量的案例由于采用了这种技术反而使得系统开发日趋

OA系统选型分析:华天动力OA与金和OA

俗话说"内行看门道,外行看热闹",在OA系统选型上大概就是如此.总是有那么些人费时费力费钱还没有选到合适的产品.问题没解决又引来新问题.针对OA系统这种技术性很强的产品,知己知彼更有必要:首先充分了解自己的需求;其次了解这个市场上都有哪些主流的厂商,有哪些主流的产品.为此小编精选了两家一线厂商的主力产品华天动力旗舰版OA与金和C6进行对比,看一看OA选型这里边的道儿. 先说这外行看的热闹,首当其冲的就是理念之争.企业管理软件的 "理念先行"也就是要让客户接受你的产品

EJB组件与可重用性的矛盾

EJB EJB技术正在像其他辉煌过的技术一样走到了一个关口.2000年以前这项技术充满了传奇色彩,被大批企业不假思索地接受.然而理想毕竟是理想,经过了几年的发展,今天这项技术却正在被怀疑或者至少说让技术人员犹豫不决,现实的是J2EE的对手出来了,.NET似乎又有着后发的技术优势.大部分的探讨和争论已经开始转向这两个体系结构的对比.Java阵营内部同样发出了怀疑的声音,最直接的就是对EJB的攻击,因为人们发现原来这项技术所做的承诺似乎都走向了相反的方向 1.大量的案例由于采用了这种技术反而使得系统

软件体系架构模式在J2EE中的应用

本文介绍了软件体系架构产生的背景和架构模式的基本理论.重点介绍管道与过滤器体系架构模式的结构,实现,优缺点等,然后以J2EE的Servlet Filter为例进行剖析它是怎样应用该架构模式的,最后简单阐述了在其它J2ee应用中(Jboss和Axis)的实践. 软件体系架构 1.软件体系架构产生背景 在经历60年代的软件危机之后,使人们开始重视软件工程的研究.来自不同应用领域的软件专家总结了大量的有价值的知识. 当初,人们把软件设计的重点放在数据结构和算法的选择上,如Knuth提出了数据结构+算法

用AJAX+J2EE实现网上会议系统

今年大家都在炒作Web2.0,其中的一门技术Ajax也是跟着火了起来,因此前面我写了一篇名为<忽悠一下AJAX>的文章,简单地分析了一下Ajax的技术的实质.虽然笔者不太喜欢跟风,但Ajax有一些地方还是比较有用的.前段时间做了EasyJF开源团队的网上会议系统,就用到了Ajax技术,下面把设计思路发出来跟大家分享一下. 一.系统实现的功能 本会议室系统主要用于EasyJF开源团队的成员网上会议使用,会议系统模拟传统的会议形式,可以同时开设多个不同主题的会议室,每个会议室需要提供访问权限控制功

当前流行的J2EE WEB应用架构分析

j2ee|web|架构 1. 架构概述 J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术.这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择.怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤.完成这个步骤可以形成一个主要里程碑基线.形成这个基线有很多好处: 各种因数初步确定 为了形成架构基线,架构设计师要对平台(体系)中的技术进