开发手册 欢迎您!
软件开发者资料库

EJB - 安全性

EJB安全 - 从简单和简单的步骤学习EJB 3.0和3.1(Enterprise Java Bean)框架,从基本概念到高级概念,包括概述,环境设置,应用服务器,容器,企业Bean,注释,会话,无状态会话,有状态会话,消息驱动,实体Bean,持久性,远程接口,查找,生命周期,接口,拦截器,可嵌入对象,Blob / Clobs,事务,安全性,JNDI绑定,实体关系,访问数据库,回调,定时服务,Web服务,部署描述符,创建应用程序,访问数据库,查询语言,依赖注入,异常处理,打包应用程序。

安全性是任何企业级应用程序的主要关注点.它包括访问应用程序的用户或系统的标识.基于标识,它允许或拒绝访问应用程序内的资源. EJB容器管理标准安全问题,或者可以自定义以处理任何特定安全问题.

重要安全术语

  • 身份验证 : 这是确保访问系统或应用程序的用户被验证为真实的过程.

  • 授权 : 这是确保真实用户具有访问系统资源的权限级别的过程.

  • 用户 : 用户代表访问应用程序的客户端或系统.

  • 用户组 : 用户可能是具有特定权限的组的一部分例如管理员组.

  • 用户角色 : 角色定义权限级别,用户拥有或访问系统资源的权限.

容器管理安全性

EJB 3.0指定了以下EJB容器实现的安全性属性/注释.

  • DeclareRoles : 表示该类将接受声明的角色.注释适用于班级.

  • RolesAllowed : 表示指定角色的用户可以访问方法.可以在类级别应用,从而可以访问所有类的方法,购买指定角色的用户.

  • PermitAll : 表示所有人都可以访问业务方法.它可以在课堂上和方法层面上应用.

  • DenyAll : 表示在类或方法级别指定的任何用户都无法访问业务方法.

示例

package com.it1352.security.required; import javax.ejb.* @Stateless@DeclareRoles({"student" "librarian"})public class LibraryBean implements LibraryRemote {   @RolesAllowed({"librarian"})   public void delete(Book book) {  //delete book   }      @PermitAll   public void viewBook(Book book) {      //view book   }      @DenyAll   public void deleteAll() {      //delete all books   }  }

安全配置

映射角色和用户在配置文件中分组.

         student      student-group            librarian      librarian-group