程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 安裝、配置和部署Sun Java System Access Manager的簡便方法

安裝、配置和部署Sun Java System Access Manager的簡便方法

編輯:關於JAVA

Sun Java System 7.1(下面簡稱 Access Manager)集成了身份驗證和授權服務、策略代理、身份管 理以及身份聯合,從而保護網絡資源。這樣,您就可以為資源訪問提供安全保障,d d d d 並且可以管理 訪問這些資源的用戶的身份。

可以將 Access Manager 部署在符合 Java Servlet 2.3 API Specification 的大多數平台上和大多 數容器(即大多數 Web 服務器或應用程序服務器)上。d d d d 然而事實並非始終如此;請參見 附錄。

本文將介紹在 Sun Java System Application Server(以下簡稱 Application Server)上安裝、配 置和部署 Access Manager 的一種簡便高效的方法,Application Server 也是一個稱作 GlassFish 的開 放源代碼項目。一般而言,完成整個過程花不了 10 分鐘時間,因而對於原型尤為方便。

首先,請下載以下軟件:

派生自 GlassFish 的 Sun Application Server Platform Edition 9.0 或更新版本

Access Manager

ZIP 文件包含特定於 Java Development Kit (JDK) 版本的 Web 歸檔 (WAR) 文件、進行分布式身份 驗證的應用程序、管理性命令行接口 (CLI) 工具、會 話故障轉移工具、法律文件以及運行示例的過程。 將文件解壓縮到所選目錄,該目錄在本文其余部分稱作 Access_Manager_install_dir。圖 1 顯示了此目 錄的文件結構。

圖 1:Access Manager 的文件結構

jdk14 與 jdk15 二進制文件之間的主要區別在於文件大小。Sun 的 JDK 1.5.x 包括 Java Web Services Developer Pack (Java WSDP) 的大多數 Java archive (JAR) 文件,但是,這些文件並 不是 運行於 Sun JDK 1.5.x 下的容器的 Access Manager 的組成部分。本文中的示例將使用 Access_Manager_install_dir /applications/jdk15 下的 amserver.war 文件。

配置應用服務器

如果已在 Java 虛擬機中啟用 Security Manager,則需要將 Access Manager 的相關許可權限添加到 Application Server 的 server.policy 文件中,如下所示。

// ADDITIONS FOR Access Manager
grant codeBase "file:${com.sun.aas.instanceRoot}/applications/j2ee-modules/amserver/-" {
   permission java.net.SocketPermission "*", "connect,accept,resolve";
   permission java.util.PropertyPermission "*", "read, write";
   permission java.lang.RuntimePermission "modifyThreadGroup";
   permission java.lang.RuntimePermission "setFactory";
   permission java.lang.RuntimePermission "accessClassInPackage.*";
   permission java.util.logging.LoggingPermission "control";
   permission java.lang.RuntimePermission "shutdownHooks";
   permission javax.security.auth.AuthPermission "getLoginConfiguration";
   permission javax.security.auth.AuthPermission "setLoginConfiguration";
   permission javax.security.auth.AuthPermission "modifyPrincipals";
   permission javax.security.auth.AuthPermission "createLoginContext.*";
   permission java.io.FilePermission "<<ALL FILES>>", "execute,delete";
   permission java.util.PropertyPermission "java.util.logging.config.class", "write";
   permission java.security.SecurityPermission "removeProvider.SUN";
   permission java.security.SecurityPermission "insertProvider.SUN";
   permission javax.security.auth.AuthPermission "doAs";
   permission java.util.PropertyPermission "java.security.krb5.realm", "write";
   permission java.util.PropertyPermission "java.security.krb5.kdc", "write";
   permission java.util.PropertyPermission "java.security.auth.login.config", "write";
   permission java.util.PropertyPermission "user.language", "write";
   permission javax.security.auth.kerberos.ServicePermission "*", "accept";
   permission javax.net.ssl.SSLPermission "setHostnameVerifier";
   permission java.security.SecurityPermission "putProviderProperty.IAIK";
   permission java.security.SecurityPermission "removeProvider.IAIK";
   permission java.security.SecurityPermission "insertProvider.IAIK";
};
// END OF ADDITIONS FOR Access Manager

注意:如果使用非 amserver 名稱部署 Access Manager 7.1,則需要在 grant 中更改 amserver 字 符串。或者只引用 grant {...} 來進行測試。

注意:如果所選容器為 IBM WebSphere,則需要在容器的 server.xml 文件中設置以下兩個 Java 虛 擬機選項:

-DamCryptoDescriptor.provider=IBMJCE
-DamKeyGenDescriptor.provider=IBMJCE

例如:

genericJvmArguments="-DamCryptoDescriptor.provider=IBMJCE - DamKeyGenDescriptor.provider=IBMJCE"

之後,重新啟動應用服務器,使更改生效。

部署和配置 Access Manager

現在將 Access Manager WAR 文件部署到 Sun Java Enterprise System 5 支持的任何 Web 容器上。 這包括三個步驟:

部署 WAR 文件。

配置 Access Manager。

驗證配置。

部署 WAR 文件

要部署 WAR 文件:

登錄 Application Server Administration Console,地址為 http://localhost:4848。

默認用戶名為 admin;默認口令為 adminadmin。

在左側窗格中,選擇 Applications 下面的 Web Applications。在右窗格中,指定 Access Manager WAR 文件 (Access_Manager_install_dir /applications/jdk15/amserver.war) 的位置,然後單擊 Deploy 按鈕。

部署成功之後,應用服務器將在所部署的 Web Application 下顯示 amserver,如圖 2 所示。

圖 2:在應用程序器上成功部署 Access Manager

配置 Access Manager

要配置 Access Manager:

單擊 Launch 按鈕。

或者,訪問 http:// hostname.domain_name .com: portnumber /amserver,其中:

hostname.domain_name .com 是在其上部署 Access Manager 的主機的名稱。

portnumber 是 Access Manager 監聽傳入請求的端口號。

此時將顯示 Access Manager Configurator 頁面,如圖 3 所示。

圖 3:應用程序器中的 Configurator 頁面

指定 amAdmin 口令(如 admin123)和配置目錄(如 /amconfig)。

可選。要將 Sun Java System Directory Server 指定為配置庫,需要確保已 安裝 Directory Server 實例並且正在運行,然後執行以下操作。

在 Configuration Store Settings 下,選擇 Directory Server。

在 Server Settings 下,填寫 Name、Port 和 Suffix to store configuration data 字段。

在 Directory Server Administration 下,填寫 Password 和 Retype Password 字段。/li>

單擊 Configure 按鈕。

Access Manager 會顯示配置過程的狀態。

在本示例中,文件系統(File System)是用於存儲服務配置數據的默認系統。即所有服務配置文件都 位於 config_dir / deploy_URI /sms 目錄下,本例中為 /amconfig/amserver/sms。

成功配置後,Access Manager 將顯示登錄界面,如圖 4 所示。

圖 4:Access Manager 登錄界面

驗證配置

最後,通過登錄來驗證所做的配置。此時會顯示 Access Manager 管理控制台,如圖 5 所示。

圖 5:Access Manager 管理控制台

了解文件布局

配置過程一經完成,Access Manager 即會在系統中創建下列文件:

配置文件 — 這些文件位於 Configurator 頁面指定的目錄 (General Settings > Configuration Directory)中。在本例中,該目錄稱為 /amconfig。圖 6 中顯示了其文件結構。

圖 6:配置目錄中的文件結構

Bootstrap 文件 — 這些文件是在特定的 Access Manager 實例中查找配置信息所必需的。根據在同 一台主機上配置的實例數,在 某一給定時刻可能存在多個適用的 bootstrap 文件。請 勿刪除這些文件 。

默認情況下,bootstrap 位於 user.home 目錄中。可以根據需要更改該位置。有關該過程的詳細信息 ,請參見 Sun Java System Access Manager 7.1 Postinstallation Guide 中的 "Deploying Access Manager as a Single WAR File" 一節。

Access Manager 構造文件名的方式為編輯 Servlet Context 中的實際路徑並將 和 / 符號替換為 _ 符號。例如,如果運行 Application Server 的用戶為 root 用戶,則本例中的 bootstrap 文件將為 /AccessManager/AMConfig_opt_SUNWappserver_domains_domain1_applications_j2ee- modules_amserver_。6 " 6 < /li>

取消部署 Access Manager

Access Manager 不提供用於取消部署已配置的實例的任何腳本。要取消部署 Access Manager:

使用特定於容器的命令取消部署。

刪除配置文件和 bootstrap 文件。

請參見前面的章節。

可選。撤銷對服務器策略的更改。

如果需要重新部署 Access Manager,則可以跳過這一步。

重新啟動 Web 容器。

重新配置 Access Manager

要在不取消部署 Access Manager 的情況下用不同的配置值進行測試:

刪除配置文件和 bootstrap 文件。

重新啟動 Web 容器。

訪問 http:// hostname.domain_name .com: portnumber /amserver。

此時將顯示 Configurator 頁面。

附錄:今後和現在部署

在其早期版本中,安裝程序是將 Access Manager 作為軟件包來部署的。它們是以下文件的集合: JAR 文件以及支持 XML、JavaServer Pages (JSP)、HTML 和 GIF 文件,還有區域設置文件以及 AMConfig.properties 和 serverconfig.xml 文件(後者用於目錄配置)中的屬性。該方法引起了許多問 題,如下所列:

安裝程序是容器感知的。

安裝程序具有與操作系統相關的依賴性。

恢復到原始配置相當復雜。

Access Manager 的大范圍分布不可行。

因而 Access Manager 工程團隊將目標設定為對可作為 J2EE 應用程序部署的組件重新打包。該目標 在 Access Manager 7.1 中得以實現:現在,您 可以方便地將其作為單一 Web 應用程序來部署,無任何 障礙。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved