| 添加到收藏夹 | 返回目录页 | 上一篇:J2EE学习经验和流程 |
J2EE的安全体系的应用
1、 前言
2、 方案的整体设计
1、 用户访问安全:
用户访问安全不仅仅是Web访问,还包括其他类型的访问,例如电子数据交互(EDI,Electronic Data Interchange),在电子平台系统中我们主要用到的是webservice。为了保证用户访问的安全性,我们主要从以下几个方面来考虑
Ø 定义验证方法:这部分包括CAS的验证、系统的基本验证
Ø 定义安全角色:为不同的用户建立不同角色,避免了不同角色之间在权限上的混乱。
Ø 为单个的servlet/jsp定义安全角色引用:为一些比较特殊的或则安全级别比较高的servlet/jsp定义安全角色引用。
1) Web访问:
将电子平台系统所使用的WEB系统配置成安全的WEB系统,采用要求用户访问时提供数字证书的工作方式,使用HTTPS协议保证信息传输的安全性及完整性;将从用户提交的数字证书中获取的用户信息(如姓名)作为在系统中注册、登录的依据,从而保证了在处理业务的时候具有法律性和不可抵赖性。另一方面,HTTPS协议将Web应用与非授权的访问隔离开来。
1) Web Service
这一部分内容暂定
2、 网络安全
集中认证网络示意图
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、 总结
数据库和事务管理器的安全这一块内容有待补充。
- · 怎样在J2EE组件中引用和查找Web服务
- · J2EE搭建WAP站点时图片发布统一格式处理解决方案
- · J2EE Enterprise Beans(中文翻译)
- · J2ME技术在手机开发领域的优势和不足
- · 安装 WebSphere应用服务器
- · 实战J2EE—开发购物网站(三)
- · 实战J2EE—开发购物网站(一)
- · J2EE项目中开发团队的组建
- · 开发J2EE应用的要领
- · J2EE系统优化的几点体会(一、对象)
- · Java服务器端编程安全必读(1)
- · J2EE构造web service
- · J2EE的13种核心技术(二)
- · 使用EJB3.O简化EJB开发(三)
- · 使用EJB3.O简化EJB开发(一)
- · J2EE编程起步(二)
- · 开发第一个J2EE、配置J2EE环境及Cloudscape数据库
- · J2EE Server下的第一个EJB程序(图文进阶篇)
- · 使用sitemesh建立复合视图 - 3.其他讨论
- · 使用sitemesh建立复合视图 - 1.hello
- · 基于J2EE的开发的一些经验
- · J2EE架构的6个最佳实践
- · 学习j2ee初有领悟的小总结
- · j2ee常见错误(放到这里备查)
- · 我与TOMCAT不得不说的二三事
- · J2EE SDK 1.4+Resin 2.1.16 的安装过程
- · J2EE的13种核心技术(一)
- · 开发J2EE应用的要领
- · J2EE 第2次课笔记--Servlet
- · 谈谈J2SE中的序列化(二)
- · J2EE deployment files(application-client.xml)
- · J2EE deployment files(ejb-jar2.0.xml)
- · J2EE deployment files (application.xml)
- · PHP 挑战 J2EE 和 .NET
- · J2EE初学者需要理解的五个问题
- · 开发J2EE应用应遵循的几点原则
- · J2EE初学者需要理解的五个问题
- · J2EE编程起步(二)
- · J2EE初学者需要理解的问题
- · 初学J2EE会碰到的一些问题
- · J2EE clustering 2---有些老了
- · J2EE 探索者:用五个容易的步骤实现 JSP 自定义标记
- · J2EE 中使用EntityBean和JDO各有什么优点缺点
- · J2EE 探索者:使用 Java Servlets 2.4 来执行过滤
- · J2EE 探险者:持久数据管理,第 1 部分

