EJB安全 - EJB

安全性是任何企业级应用关注的重大问题。它包括用户身份识别(S)或系统访问的应用程序,并允许或拒绝的访问应用程序内的资源。在EJB中,安全性可以声明的方式称为声明性安全EJB容器管理的安全问题,或者自定义代码可以在EJB处理安全问题的关注,通过自已声明。

安全的重要术语

容器管理安全

EJB3.0指定下列属性/安全EJB容器实现的注解。

实例

package com.tutorialspoint.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
   } 
}

安全配置

在配置文件中的的映射角色和用户组。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd">
<ejb-jar>
   <security-role-mapping>
      <role-name>student</role-name>
      <group-name>student-group</group-name>
   </security-role-mapping>
   <security-role-mapping>
      <role-name>librarian</role-name>
      <group-name>librarian-group</group-name>
   </security-role-mapping>  
   <enterprise-beans/>
</ejb-jar>