具有 EGL LDAP 存取權的 J2EE 安全設定

請遵循下列指示,以設定並執行具有 EGL LDAP 存取權的 J2EE 安全範例。若要設定範例,您可以匯入資料、配置 J2EE 安全及執行範例。

開始之前

若要使用具有 EGL LDAP 存取權的 J2EE 安全範例,您必須使用符合 LDAP 標準的伺服器。如果您沒有符合 LDAP 標準的伺服器,則可以使用開放程式碼伺服器(例如 ApacheDS)及用戶端(例如 Apache Directory Studio),提供對該伺服器的存取權。如需詳細資料,請參閱配置符合 LDAP 的軟體

關於這項作業

這些設定指示是 ApacheDS 和 Apache Directory Studio 特定的。如果您使用不同的符合 LDAP 標準的伺服器,則您的配置可能視伺服器而有所不同。

程序

  1. 匯入資料:
    1. 若要將專案範例匯入到您的工作區中,請在 具有 EGL LDAP 存取權的 J2EE 安全頁面上,按一下取得範例。容許工作區移轉工具執行任何必要的移轉。
    2. 在專案範例中,開啟下列每一個檔案,並確保內容適合您的伺服器:
      • EGLSource/libraries/LdapLoginLib.egl,其中您可能需要變更下列 providerURL 項目:
        providerUrl String = "ldap://localhost:389/o=sample";
      • EGLSource/libraries/UserObjectLib.egl
    3. 將範例資料從專案中的 SampleCompany.ldif 檔案匯入至目錄伺服器。
      • 如果您使用現有符合 LDAP 標準的伺服器,請從 SampleCompany.ldif 檔案中匯入範例資料,該檔案位於下列位置:
        workspace/SecureLDAPSample/
        註: workspace 是 EGL 產品工作區的完整路徑名稱;例如,C:/MyWorkspace
      • 如果您將開放程式碼 Apache 軟體用於示範目的,請遵循使用 Apache Directory Studio 匯入範例資料中的指示,將範例資料匯入到 ApacheDS 目錄伺服器中。
  2. 配置 J2EE 安全。 如需設定 Web 型儲存器管理之 J2EE 安全的相關一般資訊,請參閱「使用 J2EE 儲存器管理的安全」。
    1. 設定 J2EE 安全的 WebSphere Application Server:
      1. 建立 WebSphere Application Server 的實例(例如,8.0 版),並啟動伺服器。
      2. 用滑鼠右鍵按一下伺服器,並選取管理 > 執行管理主控台
      3. 於主要管理主控台,展開安全 > 廣域安全,然後按一下確保管理、應用程式及基礎架構的安全
      4. 選取啟用管理安全啟用應用程式安全,而清除使用 Java 2 安全來限制應用程式對本端資源的存取權
      5. 可用的領域定義區段中,選取獨立式 LDAP 登錄。按一下設為現行值
      6. 存取「獨立式 LDAP 登錄」內容:
        1. 按一下配置
        2. 在「獨立式 LDAP 登錄」內容視窗的「其他內容」標籤上,按一下進階輕量型目錄存取通訊協定 (LDAP) 使用者登錄設定
        3. 對於「使用者」過濾器,輸入 (&(uid=%v)(objectclass=person)),然後按一下確定
      7. 對於「主要」管理使用者名稱,鍵入 msmith
      8. 選取自動產生的伺服器身分
      9. 輸入 LDAP 連結準則,然後按一下確定套用。如果您將開放程式碼 Apache 軟體用於示範目的,請使用表格中列出的準則。否則,請使用預設值。
        表 1. LDAP 連結準則
        連結準則
        LDAP 伺服器的類型 自訂
        主機 localhost
        389
        基本識別名稱 (DN) o=sample
        連結識別名稱 uid=msmith,ou=people,o=sample
        連結密碼 pass
      10. 在位於視窗頂端的訊息框中,按一下直接儲存至主要配置
        重要: 因為您已啟用管理安全,所以必須利用使用者 ID msmith 及密碼 pass 登入 WebSphere Application Server。如果您不再需要管理安全,則在執行此範例之後,關閉管理安全。
      11. 結束管理主控台,並停止伺服器。
    2. 設定 WebSphere Application Server 的實例:
      1. 用滑鼠右鍵按一下伺服器,然後選取開啟
      2. 指定自動連線設定,或者將伺服器連線類型從 RMI 變更為 SOAP。使用預設埠。
      3. 在「安全」下,選取在此伺服器上啟用安全。對於使用者 ID,輸入 msmith;對於密碼,輸入 pass。確保已選取在 SSL 信號交換期間自動信任伺服器憑證
        重要: 若要避免鑑別錯誤及不需要的迴圈,請確保使用者 ID 及密碼正好符合管理主控台中輸入的認證。
      4. 儲存您的變更。
    3. 下載具有 EGL LDAP 存取權的 J2EE 安全範例。
      已為 J2EE 安全配置專案 SecureLDAPSample 的部署描述子 (WebContent/WEB-INF/web.xml):
      • 安全標籤上,已新增 AllRole 安全角色。
      • 已新增「Constraint1 安全限制」。限制指定此專案中由 J2EE 安全確保安全的資源,以及可以存取那些資源的角色。Constraint1 指定只有具有「所有角色」安全角色的人員可以存取此專案中在 WebContent ("/*") 下定義的 JSP 頁面或資源。
      • 頁面標籤上,「鑑別」方法設為 FORM;這指出使用表單型鑑別。「登入」頁面及「錯誤」頁面已在專案中定義,並指定以與表單型鑑別搭配使用。
      已為 J2EE 安全配置 SecureLDAPSampleEAR 專案的 EarContent/META-INF/application.xml 部署描述子:
      • 安全標籤上,已新增「AllRole 安全角色」。
      • 在「WebSphere 連結」下,已選取所有已鑑別的使用者以對映至 AllRole。因此,SampleCompany 目錄中的所有使用者 ID 都對映至 AllRole,且可以執行此 Web 應用程式。
      如果您在執行管理安全時遇到問題,則可以透過於指令行(而非管理主控台)工作來停用它。若要停用管理安全,請如下所示執行動作:
      1. 於命令提示字元,鍵入下列指令:
        WebSphere_home\bin\wsadmin.bat -conntype NONE
        註: WebSphere_home 是 WebSphere Application Server 之安裝目錄的完整路徑名稱。
      2. 當再次顯示系統提示時,鍵入 securityoff
      3. 當您完成時,鍵入 quit
      4. 重新啟動應用程式伺服器。
  3. 執行範例:
    1. 清理 SecureLDAPSample 專案。
    2. 若要產生程式碼,請使用 SecureLDAPSampleWebBuildOptions 建置描述子,其位於 SecureLDAPSample.eglbld 中。
    3. 用滑鼠右鍵按一下 WebSphere Application Server 的實例。按一下新增並移除專案
    4. 將 SecureLDAPSampleEAR 新增至伺服器,然後按一下完成
    5. 啟動 WebSphere Application Server,以完成安全配置:
      1. 用滑鼠右鍵按一下伺服器,並選取管理 > 執行管理主控台
      2. 延伸應用程式,然後按一下企業應用程式。即會顯示「企業應用程式」頁面。
      3. 按一下 SecureLDAPSampleEAR。即會顯示應用程式配置頁面。
      4. Web 模組內容區段中,按一下階段作業管理。即會顯示「階段作業管理」頁面。
      5. 在「一般內容」區段中,按一下安全整合

      如果您在同一伺服器實例上再次執行範例,您不需要重複安全配置。

    6. 重新啟動 WebSphere Application Server。
    7. 在 SecureLDAPSample 的 WebContent 資料夾中,用滑鼠右鍵按一下 welcome.jsp。選取執行身分,然後選取在伺服器中執行
    8. 在登入頁面上,透過鍵入使用者 ID ajones 及密碼 pass,來鑑別為「範例公司」客戶;然後按一下確定。即會開啟「歡迎使用範例公司」頁面。您可以為 ajones 顯示或更新資料。
    9. 按一下更新
    10. 變更部分資料,然後按一下更新並顯示。變更會確定至目錄。新資料顯示在頁面上。
    11. 重新啟動伺服器及工作台。
    12. 在伺服器上,執行 welcome.jsp,並透過利用使用者 ID msmith 及密碼 pass,以「範例公司」員工身分登入。您可以顯示或更新資料。

意見