EJB安全框架

J2EE只负责定规范,自然安全也不例外,因此在J2EE安全规范里面就多了很多名词,如JCA,JCE,JAAS,JSSE。按照J2EE的观点来说,SUN实现其中的主体框架,其中就包括JAVA的核心安全体系架构以及常用的加密、认证、授权方面的算法和接口,第三方可以使用这个框架同时也可以扩展安全体系结构,前提是第三方得遵循我SUN定出的规范。规范自然来自于设想,J2EE安全规范自然也有自己的设想。在这个设想里面,J2EE约定了很多程序角色以及这些角色之间的关系,最重要的是J2EE定义了这些角色的责任。这些角色就包括构件生产者、应用组装者、部署者、构件容器生产者、应用服务器系统管理员,在这个设想中他们都各司其职。还一有一个很重要的方面,那就是构件使用者间接地通过容器进行调用的时候,这个时候这种调用会存在两种情况,一种是构件使用者调用构件,另外一种是构件调用构件,这个调用过程也是需要进行限制(不是强制的)。还有就是J2EE安全体系中提到的角色、主体都是逻辑意义上的,和业务有很强的关联,往往和OS等里面的安全角色、主体不是一一对应的,这个需要系统管理员来负责进行映射。自然现实往往和设想是有差距的,但是往往也不回偏离到哪个地方去,总体思想还是不会发生太大变化。

在这个体系,构件生产者负责编码(可以是硬编码,也可以通过部署信息,推荐后者)决定谁是否可以访问指定的资源,他指定的安全主体或角色往往都是业务相的;应用组装者负责定义谁可以访问构件以及构件的某个方法等,有可能他还需要定义逻辑(业务)角色到物理(系统)角色之间的映射;部署者需要定义的是物理(系统)角色属于哪个安全域或安全技术域,简单地说来他需要定义这些物理(系统)角色在整个域中的地位;构件容器生产者做的事情就多点了,因为他赚的最多,他需要提供整个J2EE体系中跟安全相关的部署工具、系统管理工具等,他还需要提供主体认证、安全通信、审计等功能;最后到了系统管理员这里,基本上他就是来管理应用服务器的,由他根据部署者提供的信息来建立账户,定义账户属于哪个角色以及审查安全信息等。总而言之,在整个体系中,各个角色的责任一定要清晰。

你可能感兴趣的:(应用服务器,框架,ejb,sun,工具,安全相关)