將Tivoli Access Manager 與 ObjectGrid 整合以對分散式客戶機進行身份驗證和授權

CloudSpace發表於2008-08-05

在本文中,我們將首先了解 ObjectGrid 身份驗證和授權的資訊,然後瞭解如何將 IBM® Tivoli® Access Manager 與 ObjectGrid 整合,以提供安全的企業分散式快取解決方案。文中提供了一個示例,演示瞭如何完成此整合任務。

引言

IBM® WebSphere® Extended Deployment V6.1 的 ObjectGrid 元件是用於 Java™ 物件的啟用了網格的記憶體內資料儲存區,專門針對可伸縮性、彈性和高效能進行了精心設計。ObjectGrid 可以像使用記憶體內資料庫一樣使用,也可以使用其將資料分佈在網路上。

ObjectGrid 為 Java 身份驗證和授權服務(Java Authentication and Authorization Service,JAAS)提供即時可用的安全性支援。不過,由於 JAAS 基於 CodeSource 而且使用純文字格式處理檔案實現,因此可能不足以有效地保護企業應用程式。由於這個原因,ObjectGrid 還具有與其他企業安全性軟體整合的功能。

用於電子商務的 IBM Tivoli® Access Manager 是使用廣泛的企業級安全性解決方案,能為企業環境提供完整的身份驗證和授權解決方案,還全面支援 JAAS。ObjectGrid 可以與 Tivoli Access Manager 整合,以實現安全的分散式快取解決方案。

本文將介紹如何使用 Tivoli Access Manager Authorization Java API 對分散式 ObjectGrid 客戶機進行身份驗證和授權,其中包括用於說明如何完成此整合的程式碼示例。本文要求您瞭解 Java 程式設計功能、ObjectGrid 和 Tivoli Access Manager 的基本知識並熟悉授權和身份驗證的概念。有關更多資訊,請參見參考資料。

ObjectGrid 安全性概述

分散式 ObjectGrid 可在 ObjectGrid 伺服器中承載資料,而 ObjectGrid 客戶機可通過連線到伺服器來讀取或更新資料。ObjectGrid 採用開放的安全性體系結構來對客戶機進行身份驗證和授權。開放安全性體系結構允許 ObjectGrid 與外部安全性產品實現整合(請參見參考資料)。

與在任何安全的分散式環境中一樣,身份驗證和授權是安全的分散式 ObjectGrid 系統中兩個最為重要的安全功能。ObjectGrid 客戶機必須提供憑據才能通過 ObjectGrid 伺服器的身份驗證,而且此客戶機必須得到授權才能呼叫 ObjectGrid 操作。ObjectGrid 自己並不提供任何現成的安全性實現,但提供了安全性外掛,以便實現您所選擇的安全性機制。

圖 1 顯示了 ObjectGrid 伺服器如何對客戶機進行身份驗證和授權。步驟 1 到 6 顯示了身份驗證流程,而步驟 7 到 9 顯示了授權流程。三個綠色的環表示 ObjectGrid 外掛,而兩個黃色的柱面表示外部安全服務。


圖 1. ObjectGrid 身份驗證和授權體系結構
圖 1. ObjectGrid 身份驗證和授權體系結構

  • 身份驗證流
    1. 身份驗證流從 ObjectGrid 客戶機獲取代表自己的憑據開始。此工作由外掛 com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator 進行。
    2. 簡單說來,CredentialGenerator 物件知道如何生成有效的客戶機憑據,例如使用者 ID/密碼對、Kerberos 票據等等。
    3. ObjectGrid 客戶機使用 CredentialGenerator 物件接收到 Credential 物件後,會將此客戶機 Credential 物件隨 ObjectGrid 請求一起傳送到 ObjectGrid 伺服器。
    4. ObjectGrid 伺服器在處理 ObjectGrid 請求前將對 Credential 物件進行身份驗證。ObjectGrid 伺服器使用 Authenticator 外掛對 Credential 物件進行身份驗證。
    5. Authenticator 外掛表示指向使用者註冊中心的介面,例如 LDAP 伺服器或作業系統使用者登錄檔。Authenticator 查詢使用者註冊中心,並作出身份驗證決策。
    6. 如果身份驗證成功,將會返回表示此客戶機的 Subject 物件。
  • 授權流

    ObjectGrid 採用基於許可權的授權機制。ObjectGrid 具有代表不同許可權類的不同許可權類別。例如,com.ibm.websphere.objectgrid.security.MapPermission 代表在 ObjectMap 中對資料項進行讀取、寫入、插入、作廢和刪除操作。由於 ObjectGrid 提供 JAAS 授權的現成支援,因此可以利用 JAAS 通過提供授權策略處理 ObjectGrid 授權。此外,ObjectGrid 還支援自定義授權。自定義授權通過外掛 com.ibm.websphere.objectgrid.security.plugins.ObjectGridAuthorization 插入。

    1. 伺服器執行時將 Subject 物件和所需的許可權傳送到 ObjectGrid 授權外掛中。
    2. ObjectGrid 授權外掛查詢 Authorization 服務並作出授權決策。如果為此 Subject 物件授予了許可權,將會返回“true”值,否則會返回“false”。
    3. 此授權決策(true 或 false)將返回到伺服器執行時。

有關其他許可權型別和安全外掛的更多資訊,請參見 ObjectGrid Security JavaDoc

整合 Tivoli Access Manager

在組成 Tivoli Access Manager(以下稱為 Access Manager)的眾多元件中,需要以下元件來執行本文中的示例:

  • Access Manager Directory Server 是受支援作業系統的輕量級目錄訪問協議(Lightweight Directory Access Protocol,LDAP)的 IBM 實現。Directory Server 提供了使用 IBM DB2® 資料庫儲存目錄資訊的伺服器,用於將 LDAP 操作路由到其他伺服器的代理伺服器、客戶機及用於管理伺服器的圖形使用者介面。

  • Access Manager Policy Server 維護管理域的主授權資料庫以及與您可能決定建立的其他安全域關聯的策略資料庫。

  • Access Manager Authorization Server 在存在以遠端快取模式使用 Tivoli Access Manager 授權 API 的第三方應用程式的情況下,提供對此類應用程式的授權服務的訪問。它可在第三方應用程式(如 ObjectGrid)和 Access Manager Policy Server 間起到橋樑紐帶的作用。

  • Access Manager Runtime for Java 提供了可靠的環境,可用於在 Tivoli Access Manager 安全域中開發和部署 Java 應用程式。可以將其用於向新的或現有的 Java 應用程式新增 Tivoli Access Manager 授權和安全服務。

正如圖 1 中所示,需要建立三個外掛,以便將 Access Manager 用於對 ObjectGrid 進行身份驗證和授權:

  • CredentialGenerator 和 Credential

    Credential 物件代表客戶機憑據,如使用者 ID/密碼對、Kerberos 票據等。CredentialGenrator 物件代表建立憑據的憑據工廠。例如,如果憑據是 Kerberos 票據,CredentialGenerator 將建立 Kerberos 票據。Kerberos 票據過期後,CredentialGenerator 應該能夠續訂票據。

    在此整合示例中,憑據是儲存在目錄伺服器中的使用者 ID/密碼對。因此,您可以使用這兩個介面的 ObjectGrid 內建實現來處理使用者 ID/密碼對:

    • com.ibm.websphere.objectgrid.security.plugins.builtins.UserPasswordCredentialGenerator
    • com.ibm.websphere.objectgrid.security.plugins.builtins.UserPasswordCredential

    UserPasswordCredential 類包含兩個字串屬性:一個用於使用者 ID,另一個用於密碼。UserPasswordCredentialGenerator 類只建立預先設定的 UserPasswordCredential 物件(請參見參考資料)。

  • 身份驗證者

    Access Manager 提供了登入模組 com.tivoli.mts.PDLoginModule,用於支援 JAAS 身份驗證。此登入模型類需要呼叫應用程式提供以下資訊:

    • 主體名稱,採用短名稱或 X.500 名稱 (DN) 指定。
    • 密碼。

    com.tivoli.mts.PDLoginModule 模組對主體進行身份驗證,並返回 Access Manager 憑據。它預期呼叫應用程式提供以下資訊:

    • 使用者 ID,通過 javax.security.auth.callback.NameCallback
    • 密碼,通過 javax.security.auth.callback.PasswordCallback

    成功檢索了 Access Manager 憑據後,登入模組將建立 Subject 物件和 PDPrincipal 物件。為此示例建立了簡單的回撥處理程式類 com.ibm.websphere.samples.objectgrid.security.tam.UserPasswordCallbackImpl,用於將使用者密碼對傳遞給 PDLoginModule,以進行身份驗證。示例程式碼打包在隨本文提供的下載檔案中。

    清單 1 顯示了 Authenticator 實現類中的 com.ibm.websphere.samples.objectgrid.security.tam.TAMAuthenticator 身份驗證方法。您將會看到,其中利用了 JAAS 身份驗證服務來使用登入名登入到 Access Manager。



    清單 1. TAMAuthenticator.authenticate(Credential) 方法
                            
    subject = (Subject) AccessController.doPrivileged(new PrivilegedExceptionAction() {
        public Object run() throws InvalidCredentialException, 
        ExpiredCredentialException 
        {
            UserPasswordCredential cred = (UserPasswordCredential) credential;
            LoginContext lc = null;
            try {
                lc = new LoginContext(loginName, new UserPasswordCallbackHandlerImpl(cred
    			.getUserName(), cred.getPassword().toCharArray()));
    
                lc.login();
    
                Subject s = lc.getSubject();
                System.out.println("The authenticated subject is " + s);
    
                return s;
            } catch (LoginException le) {
                throw new InvalidCredentialException(le);
            } catch (IllegalArgumentException ile) {
                throw new InvalidCredentialException(ile);
            }

  • ObjectGridAuthorization

    客戶機經過身份驗證後,將從伺服器返回 Subject 物件。此 Subject 可以用於對客戶機訪問進行授權。由於 ObjectGrid 提供 JAAS 授權現成支援,因此可以在 Java 策略檔案或 JAAS 授權策略檔案中定義 JAAS 授權策略。典型策略與以下所示類似:



    清單 2. JAAS 授權策略
                            
    grant codebase "http://www.ibm.com/com/ibm/ws/objectgrid/security/PrivilegedAction"
    principal com.tivoli.pd.jazn.PDPrincipal "manager1" {
        permission com.ibm.websphere.objectgrid.security.MapPermission 
        "Accounting.Balance",
        "read,write,insert";
    };

    此策略授予使用者 manager1 對 Accounting ObjectGrid 的 Balance 對映的讀取、寫入和插入許可權。

    JAAS 授權策略在純文字檔案中配置,這就使其管理起來有些麻煩。對於此示例,請使用 Access Manager 訪問控制列表(Access Control List,ACL)來管理 ObjectGrid 授權策略。

    為了使用 Access Manager Authorization Server 授權 ObjectGrid 客戶機訪問,您需要實現 ObjectGridAuthorization 外掛來進行 ObjectGrid 的自定義授權。為此目的建立了一個外掛實現類:com.ibm.websphere.samples.objectgrid.security.tam.TAMOGAuthorization。清單 3 顯示了演示如何針對 Subject 物件檢查對映許可權的程式碼。



    清單 3. TAMOGAuthorization. checkMapPermission(Subject, Permission) 方法程式碼示例
                            
    // The permission.getName() is the [OBJECTGRID_NAME].[MAP_NAME].
    // We convert it to the ACL object bt prefixing "/OGTAMSample"
    final PDPermission pdPerm = new PDPermission(resourcePath + permission.getName(), 
    	new String(pdPermissionStr));
    
    Set principals = subject.getPrincipals();
    
    Iterator iter = principals.iterator();
    while (iter.hasNext()) {
        try {
            PDPrincipal principal = (PDPrincipal) iter.next();
            if (principal.implies(pdPerm)) {
                return true;
            }
        } catch (ClassCastException cce) {
        }
    }
            
    return false;

    通過清單 3,我們瞭解到,可以首先構建 PDPermission 物件,用於表示 ObjectGrid 所需的許可權,然後對 Subject 物件中的主體進行迭代。如果是 PDPrinciplal 物件,則將呼叫 implies 方法來檢查其是否具有所需的許可權。

執行示例應用程式

所有程式就位後,可以執行本文所包括的示例來了解 ObjectGrid 和 Access Manager 整合工作情況。下面的指令將幫助您設定環境和執行示例。

  1. 設定 Access Manager

    首先,您需要安裝和設定 Access Manager。請使用 Access Manager V6.0 或更高版本。Access Manager 的詳細安裝和設定指令請參見參考資料部分,不過下面給出了您將需要執行的步驟的摘要列表:

    1. 安裝 Access Manager Directory Server。
    2. 配置 Access Manager Directory Server。
    3. 安裝 Access Manager Policy Server。
    4. 安裝 Access Manager Authorization Server。
    5. 安裝 Access Manager Runtime for Java system。
    6. 啟動 Access Manager Directory Server。
    7. 啟動 Access Manager Policy Server。
    8. 啟動 Access Manager Authorization Server。
  2. 針對特定環境配置 Access Manager Runtime for Java

    您需要通過使用 pdjrtecfg 命令在您的系統上為 Java 元件 JRE 配置恰當的 Tivoli Access Manager Runtime。這將自動向 JRE 提供 Tivoli Access Manager 類和方法。選擇希望配置的 JRE,並執行此命令:

    "c:\Program Files\Tivoli\Policy Director\sbin\pdjrtecfg.exe" -action config -host
     -port  -java_home c:\java142\jre
    

    其中:

    • 是 Access Manager Policy Server 主機名,例如:Localhost。
    • 是 Access Manager Policy Server 埠號,例如:7135。

    您將使用所配置的這個 JRE 來訪問 Access Manager 執行時。

  3. 在安全域中配置 Java 應用程式

    使用 Access Manager 安全性的 Java 應用程式必須配置到 Tivoli Access Manager 安全域中。Access Manager 提供了名為 com.tivoli.pd.jcfg.SvrSslCfg 實用類,可用於完成必要的配置任務。請使用以下命令配置 Java 應用程式:

    java -classpath PD.jar com.tivoli.pd.jcfg.SvrSslCfg -action config -admin_id 
     -admin_pwd  -appsvr_id OGTAM 
    -appsvr_pwd passw0rd -host  -mode local -port 999 -policysvr  
    -authzsvr  -cfg_file  -key_file 
    -cfg_action create

    其中:

    • 是管理員 ID,預設值為:sec_master。
    • 是管理員密碼,預設值為:secpw。
    • 是 Access Manager Policy Server 地址,例如:localhost:7135:1。
    • 是 Access Manager Authorization Server 地址,例如:localhost:7136:1。
    • 是配置檔案的名稱。
    • 是金鑰儲存檔案的名稱。
    • 是應用伺服器的主機。預設值為 localhost。
    成功配置 Tivoli Access Manager Java 應用伺服器後,將允許應用程式對 Tivoli Access Manager 服務進行授權使用。
  4. 新增使用者和 ACL

    在 Access Manager 中建立一些測試物件,如使用者、組和受保護資源,然後新增訪問控制列表策略。ACL 策略是一組規則(許可權),用於指定在資源上執行特定操作所需的條件。ACL 策略控制可以在資源上執行哪些操作以及誰能夠執行這些操作。對於本示例,操作是 ObjectGrid 對映許可權,而資源是 ObjectGrid 對映名。

    啟動 pdadmin 命令列(在 Windows® Start 選單中名為 Administration 命令提示符)。使用 sec_master(密碼為 passw0rd)登入後,執行清單 4 中的指令碼(您可以複製並貼上)。



    清單 4. 用於新增使用者和 ACL PDAdmin 的指令碼
                            
    // Create two groups employees and managers.
    group create employees "cn=employees,dc=ibm,dc=com" employees employees
    group create managers  "cn=managers,dc=ibm,dc=com"  managers  managers
    
    // Create user empoyee1, belonging to group employees
    // You need to have the dc=ibm,dc=com set up in the LDAP server. 
    user create employee1 uid=employee1,ou=people,dc=ibm,dc=com employee1 employee1 
    passw0rd
    	employees
    user modify employee1 account-valid yes
    
    // Create user manager1, belonging to group managers
    user create manager1  uid=manager1,ou=people,dc=ibm,dc=com manager1 manager1 
    passw0rd 
    	managers
    user modify manager1  account-valid yes
    
    // Create an object /OGTAMSample/Accounting.Balance which represents the 
    // Map Balance of ObjectGrid Accounting 
    
    objectspace create /OGTAMSample "Protected objectspace for ObjectGrid TAM integration
    	sample" 0
    object create /OGTAMSample/Accounting.Balance "ObjectGrid Accounting Map Balance 
    access
    	object" 0
    
    // create a "w" action to represent the ObjectGrid map write permission
    action create w write OG_Authzn
    
    // create an "i" action to represent the ObjectGrid map insert permission
    action create i insert OG_Authzn
    
    // create a "n" action to represent the ObjectGrid map invalidate permission
    action create n invalidate OG_Authzn
    
    // We use existing r action for ObjectGrid map read permission
    // We use existing d action for ObjectGrid map remove permission
    
    // Create an access control list
    acl create Balance_acl
    acl modify Balance_acl set description "ACL for ObjectGrid accounting Map Balance" 
    
    // Grant r, w, i, d, n actions to user manager1
    acl modify Balance_acl set user manager1 Trwidn
    
    // Grant only r and i actions to user employee1
    acl modify Balance_acl set user employee1 Tri
    
    
    // Attach the access control list to object /OGTamSample/Accounting.Balance 
    acl attach /OGTamSample/Accounting.Balance Balance_acl

    執行此指令碼後,您就成功地建立並定義了使用者能夠在 ObjectGrid 對映中訪問的許可權。此指令碼將使用者 manager1 的操作設定為“Trwidn”,而這意味著使用者 manager1 對 Balance 對映具有讀取、寫入、插入、刪除和廢除的許可權。使用者 employee1 的操作設定為“Tri”,這意味著 employee1 對 Balance 對映只具有讀取和插入許可權。

  5. 安裝 ObjectGrid

    您將需要 J2SE ObjectGrid 安裝來執行示例。如果未安裝 ObjectGrid,請參見參考資料,可通過其中下載試用版。(請確保使用具有臨時修復程式 PK52322 或更高版本的 WebSphere Extended Deployment Data Grid V6.1,並安裝 [OBJECTGRID_HOME] 目錄中的軟體。)

  6. 執行示例

    在此示例中,您將啟動安全 ObjectGrid 目錄伺服器和安全 ObjectGrid 容器伺服器,然後您將執行客戶機程式來訪問儲存在 ObjectGrid 容器伺服器中的資料。為了啟用 ObjectGrid 身份驗證,您需要啟用 ObjectGrid 客戶機和伺服器安全性:

    1. 將本文提供的 tamsample.zip 下載檔案解壓到 [OBJECTGRID_HOME] 目錄中。您將在 tamsample 目錄中看到以下檔案:

      • tamSampleObjectgrid.xml:ObjectGrid 配置檔案;此配置檔案中定義了一個 Accounting ObjectGrid 和一個 Balance 對映。
      • objectGridDeployment.xml:ObjectGrid 部署策略檔案控制如何部署 ObjectGrid。對於此示例,定義了最簡單的部署策略:一個分割槽,沒有副本。
      • client.props:ObjectGrid 客戶機安全性配置檔案。
      • objectGridSecurity.xml:ObjectGrid 叢集安全性配置檔案。
      • server.props:ObjectGrid 伺服器特定的安全性配置檔案。
      • tamsample.jar:包含整合外掛實現類的 JAR 檔案。
      • config.pd:JAAS 配置檔案。

      有關這些屬性檔案的更多資訊,請參見參考資料中提供的關於 ObjectGrid 安全性概述。

    2. 使用 Windows 或 UNIX® 相應的命令將 JAVA_HOME 設定為您在步驟 2 中配置的 JDK:

      對於 Windows:
                                      
      set JAVA_HOME=c:\java141\



      對於 UNIX:
                                      
      export JAVA_HOME=/java141/

    3. 在 [OBJECTGRID_HOME]/bin directory 中,執行相應的命令,以設定 ObjectGrid 環境:

      對於 Windows:
                                      
      setupCmdLine.bat



      對於 UNIX:
                                      
      ./setupCmdLine.s

    4. 在 [OBJECTGRID_HOME]/bin 目錄中啟動目錄伺服器。

    5. 使用下列一組命令來建立 startcatalog.bat/startcatalog.sh 指令碼:

      對於 Windows:
                                      
      startOgServer.bat catalogServer -script. startcatalog.bat -clusterSecurityFile 
      ../tamsample/objectGridSecurity.xml -serverProps ../tamsample/server.props
      -jvmArgs 
      -classpath ../tamsample/tamsample.jar -Djava.security.auth.login.config=
      ../tamsample/config.pd



      對於 UNIX:
                                      
      ./startOgServer.sh catalogServer -script. startcatalog.sh -clusterSecurityFile 
      ../tamsample/objectGridSecurity.xml -serverProps ../tamsample/server.props 
      -jvmArgs 
      -classpath ../tamsample/tamsample.jar -Djava.security.auth.login.config=
      ../tamsample/config.pd

      -Djava.security.auth.login.config=../tamsample/config.pd JVM 選項設定 JAAS 登入配置檔案。您還可以在 java.security 檔案中使用 login.config.url.1=file:${OBJECTGRID_HOME}/tamsample/config.pd 對其進行設定。

    6. 啟動目錄伺服器:

      對於 Windows:
                                      
      startcatalog.bat



      對於 UNIX:
                                      
      . startcatalog.sh &

    7. 在 [OBJECTGRID_HOME]/bin 目錄中啟動容器伺服器。使用以下命令,以建立 startcontainer.bat/startcontainer.sh 指令碼:

      對於 Windows:
                                      
      startOgServer.bat c0 -script. startcontainer.bat -objectGridFile 
      ../tamsample/tamSampleObjectgrid.xml -deploymentPolicyFile 
      ../tamsample/objectGridDeployment.xml -catalogServiceEndpoints 
      localhost:2809 -serverProps ../tamsample/server.props -jvmArgs
      -Djava.security.auth.login.config=../tamsample/config.pd



      對於 UNIX:
                                      
      ./startOgServer.sh c0 -script. startcontainer.sh -objectGridFile 
      ../xml/CSSelectorTestOG.xml -deploymentPolicyFile ../ 
      ../tamsample/objectGridDeployment.xml -catalogServiceEndpoints 
      localhost:2809 -serverProps ../tamsample/server.props  -jvmArgs 
      -Djava.security.auth.login.config=../tamsample/config.pd

    8. 執行此命令,以啟動容器伺服器:

      對於 Windows:
                                      
      startcontainer.bat



      對於 UNIX:
                                      
      . startcontainer.sh &

    9. 從 [OBJECTGRID_HOME] 目錄啟動客戶機

      對於 Windows:
                                      
      java -cp lib/objectgrid.jar;tamsample/tamsample.jar;lib/mx4j.jar
      com.ibm.websphere.samples.objectgrid.security.tam.TAMOGClient 
      localhost:2809  



      對於 UNIX:
                                      
      java -cp lib/objectgrid.jar:tamsample/tamsample.jar:lib/mx4j.jar 
      com.ibm.websphere.samples.objectgrid.security.tam.TAMOGClient 
      localhost:2809  

      值是在之前步驟中使用 pdadmin 建立的使用者 ID 和密碼。如果您使用 JDK 5.0 或更高版本,則不需要將 mx4j.jar 放到類路徑中。

    10. 使用 manager1 作為使用者連線到伺服器。以 Windows 為例,對應的命令將為:
      java -cp lib/objectgrid.jar;tamsample/tamsample.jar;lib/mx4j.jar 
      com.ibm.websphere.samples.objectgrid.security.tam.TAMOGClient 
      localhost:2809 manager1 passw0rd

      您將在命令視窗中看到與以下類似的輸出:

      Insert user1 ...
      Get user1 ...
      user 1 has balance 10000.0
      Remove user1 ...

    11. 現在,使用 employee1 作為使用者連線到伺服器。以 Windows 為例,對應的命令將為:
      java -cp lib/objectgrid.jar;tamsample/tamsample.jar;lib/mx4j.jar 
      com.ibm.websphere.samples.objectgrid.security.tam.TAMOGClient 
      localhost:2809 employee1 passw0rd

      您將看到以下輸出:

      Insert user1 ...
      Get user1 ...
      user 1 has balance 10000.0
      Remove user1 ...
      Exception in thread 
      "P=654937:O=0:CT" com.ibm.websphere.objectgrid.TransactionException: 
      rolling back transaction, see caused by exception
      .java:65)
      
      ... ...
      
      Caused by: 
      java.security.AccessControlException: The following access to the map 
      Accounting.Balance is not granted: com.
      ibm.websphere.objectgrid.security.MapPermission Accounting.Balance remove
              at com.ibm.ws.objectgrid.security.MapAuthorizer.
              getAccessControlException(MapAuthorizer.java:139)
      
      ... ...

      根異常訊息為:

      java.security.AccessControlException: The following access to the map 
      Accounting.Balance is not granted: com.ibm.websphere.objectgrid.
      security.MapPermission Accounting.Balance remove.

      此訊息表明使用者 employee1 不具有刪除 Accounting ObjectGrid 和 Balance 對映中的資料的許可權。

 

結束語

本文描述了 ObjectGrid 身份驗證和授權的基本流程,然後通過一個簡單示例說明了 ObjectGrid 如何利用 Tivoli Access Manager 進行身份驗證和授權。通過將 ObjectGrid 和 Tivoli Access Manager 整合,可提供安全的分散式快取解決方案。訪問 ObjectGrid Wiki,以獲得關於 ObjectGrid 和 ObjectGrid 安全性的更多資訊。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-419008/,如需轉載,請註明出處,否則將追究法律責任。

相關文章