📜  EJB-安全性

📅  最后修改于: 2020-11-16 06:24:06             🧑  作者: Mango


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

重要安全条款

  • 认证-这是确保访问系统或应用程序的用户经过验证为真实的过程。

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

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

  • 用户组-用户可以是具有某些权限的组的一部分,例如管理员组。

  • 用户角色-角色定义权限级别,用户具有访问系统资源的权限。

容器管理的安全性

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

  • DeclareRoles-指示类将接受声明的角色。注释在类级别应用。

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

  • PermitAll-表示所有人均可访问一种业务方法。它可以应用于类以及方法级别。

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

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
   } 
}

安全配置

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




   
      student
      student-group
   
   
      librarian
      librarian-group