EJB安全

2018-12-09 11:07 更新

安全性是任何企業(yè)級應(yīng)用的一個主要問題。它包括用戶(S)或系統(tǒng)訪問應(yīng)用和允許或拒絕該應(yīng)用程序內(nèi)的對資源的訪問的識別。在EJB中,安全性可以稱為在EJB容器管理的安全考慮,自定義代碼可以 EJB 處理安全問題通過自我聲明性安全聲明。

重要的安全術(shù)語

  • Authentication 身份驗證 -這是確保用戶訪問系統(tǒng)或應(yīng)用程序被證實是真實的。

  • Authorization 授權(quán) -這是確保真實的用戶訪問系統(tǒng)資源的權(quán)限。

  • User 用戶 -用戶代表客戶端或系統(tǒng)訪問應(yīng)用程序。

  • User Groups 用戶組-用戶可能成為組織的一部分在某些部門例如管理員的組。

  • User Roles 用戶角色 -定義角色的授權(quán)用戶或有權(quán)限訪問系統(tǒng)資源。


容器管理的安全性

EJB 3.0  EJB 容器實現(xiàn)指定以下屬性/注釋安全

  • DeclareRoles -表明接受這些聲明作用。批注級別應(yīng)用。

  • RolesAllowed -表示可以用戶指定角色訪問方法。可以應(yīng)用級別導(dǎo)致所有方法可以訪問用戶指定角色

  • PermitAll -表明業(yè)務(wù)方法是向所有人開放的??梢栽陬愐约霸诜椒墤?yīng)用。

  • DenyAll -表明業(yè)務(wù)方法不是任何在類或方法級別指定的用戶訪問。


示例

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


安全配置

角色用戶配置文件的 groupd 映射。

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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號