Sun Java System Access Manager 7 2005Q4 管理指南

第 7 章 管理認證

認證服務提供一項基於 Web 的使用者介面給所有安裝於 Access Manager 部署中的預設認證模組。該介面提供動態和可自訂的工具,在使用者請求存取時顯示登入需求畫面 (基於呼叫的認證模組) 以匯集認證憑證。該介面使用 Sun Java System™ Application Framework (有時稱為 JATO,它是一種 Java 2 Enterprise Edition (J2EE) 簡報框架,用於協助開發者建立實用的網路應用程式) 建立。

配置認證

本節描述如何配置您部署的認證。第一部分略述預設認證模組類型並提供任何所需的預先配置的指令。您可對範圍、使用者、角色等等配置相同認證模組類型的多重配置實例。此外,您可新增認證鏈接,如此於順利認證之前,認證必須通過多重實例的準則。本節包含:

認證模組類型

認證模組是一個收集使用者資訊 (如使用者 ID 和密碼) 並檢查資料庫中之項目資訊的外掛程式。若使用者提供符合認證準則的資訊,則將對使用者授予所請求資源的存取權。若使用者提供不符合認證準則的資訊,則將拒絕使用者所請求資源的存取權。Access Manager 安裝時附有 15 種認證模組類型。


備註 –

用作認證實例之前,某些認證模組類型需要進行預先配置。如需要,配置步驟將列於模組類型描述之中。


核心

依預設,Access Manager 提供十五種不同的認證模組,以及核心認證模組。核心認證模組為認證模組提供總體配置。加入及啟用 Active Directory、匿名、基於憑證的認證、HTTP Basic、JDBC、LDAP、任何認證模組之前,必須先加入和啟用核心認證。對預設範圍自動啟用核心和 LDAP 認證兩種模組。

按一下 [進階特性] 按鈕顯示可為範圍定義的核心認證屬性。全域屬性不適用於範圍,因此將不顯示。

Active Directory

Active Directory 認證模組執行認證的方式與 LDAP 模組相似,但使用的是 Microsoft 的 Active Directory™ 伺服器 (相對於 LDAP 認證模組使用的 Directory Server)。雖然可對 Active Directory 伺服器配置 LDAP 認證模組,但此模組可讓您在相同範圍下同時擁有 LDAP 和 Active Directory 兩種認證模組。


備註 –

在此版本中,Active Directory 認證模組僅支援使用者認證。只有 LDAP 認證模組會支援密碼策略。


匿名

依預設,啟用此模組時,使用者能以 anonymous 使用者的身份登入 Access Manager。藉由配置 [有效匿名使用者清單] 屬性,亦可對此模組定義一份匿名使用者清單。授與匿名存取權意味著無需提供密碼即可進行存取。可以將匿名存取權限制為特定類型的存取權 (例如,讀取存取權或搜尋存取權),或限制在目錄內的子樹或個別項目中。

憑證

基於憑證的認證需要使用個人數位憑證 (PDC) 來識別和認證使用者。可以將 PDC 配置為需要與儲存在 Directory Server 中的 PDC 相符,並要根據憑證廢止清單進行驗證。

在對範圍加入基於憑證的認證模組之前,需要完成許多工作。首先,需要確保與 Access Manager 一同安裝之 Web 容器的安全,並對其進行配置,以用於基於憑證的認證。於啟用基於憑證的模組之前,請參閱「Sun ONE Web Server 6.1 管理員指南」中的第 6 章「使用證書和金鑰」,以取得這些 Web Server 的初始配置步驟。此文件位於以下位置:

http://docs.sun.com/db/prod/s1websrv#hic

或者,參閱位於下列位置的「Sun ONE Application Server Administrator’s Guide to Security」:

http://docs.sun.com/db/prod/s1appsrv#hic


備註 –

每一位要使用基於憑證的模組進行認證的使用者,必須請求用於使用者瀏覽器的 PDC。根據所使用的瀏覽器不同,會有不同的說明。請參閱您瀏覽器的說明文件,以取得更多資訊。


為了加入此模組,您必須以範圍管理員的身份登入 Access Manager,並配置 Access Manager 和 Web 容器,以使用 SSL 並啟用用戶端認證。如需更多資訊,請參閱第 3 章, 在 SSL 模式中配置 Access Manager

HTTP Basic

此模組使用基本認證,它是 HTTP 通訊協定內建的認證支援。Web 伺服器發出要求提供使用者名稱和密碼的用戶端請求,並將這些資訊作為授權請求的一部分傳回伺服器。會擷取該使用者名稱和密碼,從內部將使用者認證至 LDAP 認證模組。為使 HTTP Basic 正常工作,必須加入 LDAP 認證模組 (僅加入 HTTP Basic 模組將不起作用)。一旦使用者認證成功,其無需提供使用者名稱和密碼即可重新進行認證。

JDBC

Java Database Connectivity (JDBC) 認證模組提供一種機制,可讓 Access Manager 經由提供 JDBC 技術啟用驅動程式的 SQL 資料庫來認證使用者。與 SQL 資料庫的連線可以直接經由 JDBC 驅動程式或 JNDI 連線池。


備註 –

此模組已在 MySQL4.0 和 Oracle 8i 上通過測試。


LDAP

如果使用 LDAP 認證模組,當使用者登入時,他或她必須以特定的使用者 DN 和密碼連結至 LDAP Directory Server。此為所有基於範圍的認證之預設認證模組。若使用者提供 Directory Server 中的使用者 ID 和密碼,系統將允許此使用者存取有效的 Access Manager 階段作業,並使用該階段作業進行設定。對預設範圍自動啟用核心和 LDAP 認證兩種模組。

成員身份

成員身份認證的實施類似於個人網站,例如:my.site.commysun.sun.com。啟用此模組時,使用者無需借助管理員,即可建立帳號並將其作為個人帳號。對於這個新帳號,使用者能以已加入使用者的身份來存取它。還可以存取檢視器介面,此介面作為授權資料和使用者偏好設定儲存在使用者設定檔資料庫中。

MSISDN

Mobile Station Integrated Services Digital Network (MSISDN) 認證模組會使用如行動電話等裝置相關的行動用戶 ISDN 來啟用認證。這是非互動式模組。此模組擷取用戶 ISDN 並利用 Directory Server 進行驗證,以找到符合該號碼的使用者。

RADIUS

Access Manager 可以配置為搭配已安裝的 RADIUS 伺服器使用。如果您的企業使用老舊的 RADIUS 伺服器進行認證,這會很有用。啟用 RADIUS 認證模組需要執行兩個步驟:

  1. 配置 RADIUS 伺服器。

    如需詳細指示,請參閱 RADIUS 伺服器的文件。

  2. 註冊和啟用 RADIUS 認證模組。

與 Sun Java System Application Server 一起配置 RADIUS

當 RADUIS 用戶端與其伺服器形成通訊端連線時,依預設,Application Server 的 server.policy 檔案中僅可有 SocketPermission 的連線權限。為了使 RADUIS 認證正常工作,需要為以下動作授與權限:

若要授予通訊端連線的權限,您必須在應用程式伺服器的 server.policy 檔案中加入一個項目。SocketPermission 由主機規格和一組指定與該主機連線方式的動作組成。主機依如下指令指定:

host = hostname | IPaddress:portrange:portrange = portnumber 

| -portnumberportnumber-portnumber

主機表示為 DNS 名稱、數字 IP 位址或本端主機 (針對本端機器)。DNS 名稱主機規格中可使用一次萬用字元「*」。如果包含萬用字元,它必須位於最左側,如:*.example.com

連接埠 (或連接埠範圍) 為選擇性的。形式為 N- 的連接埠規格 (其中 N 為連接埠埠號),表示號碼為 N 及大於 N 的所有連接埠。形式為 -N 的連接埠規格則表示號碼為 N 及小於 N 的所有連接埠。

偵聽動作僅在與本端主機搭配使用時才有意義。如果存在任何其他動作,則暗含解析 (解析主機/IP 名稱服務查找) 動作。

例如,建立 SocketPermission 時請注意,如果將以下權限授與某程式碼,則該權限可讓程式碼與 machine1.example.com 上的 port 1645 連線,並接受該連接埠上的連線:

permission java.net.SocketPermission machine1.example.com:1645, "connect,accept";

同樣,如果將以下權限授與某程式碼,則該權限可讓程式碼接受本端主機上 1024 至 65535 之間任一連接埠上的連線、與這些連接埠連線或偵聽這些連接埠:

permission java.net.SocketPermission "machine1.example.com:1645", "connect,accept";

permission java.net.SocketPermission "localhost:1024-", "accept,connect,listen";

備註 –

因為有害的程式碼可以更容易在不擁有資料的存取權的多方中傳輸和共用這些資料,所以將接受或建立與遠端主機連線的權限授與程式碼可能會引發問題。請確保透過指定精確的連接埠號 (而不是指定連接埠號範圍) 僅授與適當的權限。


SafeWord

可配置 Access Manager 以處理對安全運算的 SafeWord™ 或 SafeWord PremierAccess™ 認證伺服器的 SafeWord 認證請求。Access Manager 會提供 SafeWord 認證的用戶端。SafeWord 伺服器可以存在於安裝有 Access Manager 的系統,或是單獨的系統上。

與 Sun Java System Application Server 一起配置 SafeWord

SafeWord 用戶端與其伺服器形成通訊端連線時,依預設,應用程式伺服器的 server.policy 檔案中,只允許有 SocketPermission 的連線權限。為了使 SafeWord 認證正常工作,需要為以下動作授與權限:

若要授予通訊端連線的權限,您必須在應用程式伺服器的 server.policy 檔案中加入一個項目。SocketPermission 由主機規格和一組指定與該主機連線方式的動作組成。主機依如下指令指定:

host = (hostname | IPaddress)[:portrange] portrange = 

portnumber | -portnumberportnumber-[portnumber]

主機表示為 DNS 名稱、數字 IP 位址或本端主機 (針對本端機器)。DNS 名稱主機規格中可使用一次萬用字元「*」。如果包含萬用字元,它必須位於最左側,如:*.example.com

連接埠 (或 portrange) 為選擇性的。形式為 N- 的連接埠規格 (其中 N 為連接埠埠號),表示號碼為 N 及大於 N 的所有連接埠。形式為 -N 的連接埠規格則表示號碼為 N 及小於 N 的所有連接埠。

偵聽動作僅在與本端主機搭配使用時才有意義。如果存在任何其他動作,則暗含解析 (解析主機/IP 名稱服務查找) 動作。

例如,建立 SocketPermission 時請注意,如果將以下權限授與某程式碼,則該權限可讓程式碼與 machine1.example.com 上的 port 1645 連線,並接受該連接埠上的連線:

permission java.net.SocketPermission machine1.example.com:5030, "connect,accept";

同樣,如果將以下權限授與某程式碼,則該權限可讓程式碼接受本端主機上 1024 至 65535 之間任一連接埠上的連線、與這些連接埠連線或偵聽這些連接埠:

permission java.net.SocketPermission "machine1.example.com:5030", "connect,accept";

permission java.net.SocketPermission "localhost:1024-", "accept,connect,listen";

備註 –

因為有害的程式碼可以更容易在不擁有資料的存取權的多方中傳輸和共用這些資料,所以將接受或建立與遠端主機連線的權限授與程式碼可能會引發問題。請確保透過指定精確的連接埠號 (而不是指定連接埠號範圍) 僅授與適當的權限。


SAML

安全指定標記語言 (SAML) 認證模組擷取並驗證目標伺服器上的 SAML 指定。只有在此模組是配置於目標機器上時 (包括升級後,例如:Access Manager 2005Q1 升級至 Access Manager 2005Q4),SAML SSO 才有作用。

SecurID

Access Manager 可以配置為能處理對 RSA 的 ACE/Server 認證伺服器提出之「SecurID 認證」請求。Access Manager 會提供 SecurID 認證的用戶端。ACE/Server 可以存在於安裝有 Access Manager 的系統,或是單獨的系統上。若要對在本機管理的使用者 ID 進行認證 (請參閱 admintool (1M)),需要超級使用者存取權限。

「SecurID 認證」使用認證輔助程式 amsecuridd,它是 Access Manager 主程序以外的單獨程序。此輔助程式會在啟動時偵聽某連接埠,以取得配置資訊。如果安裝了 Access Manager 並以 nobody 身份或非超級使用者的使用者 ID 執行,必須仍以超級使用者身份執行 AccessManager-base/SUNWam/share/bin/amsecuridd 程序。如需 amsecuridd 輔助程式的詳細資訊,請參閱第 20 章, amsecuridd 輔助程式


備註 –

在此版本的 Access Manager 中,「SecurID 認證」模組不適用於 Linux 或 Solaris x86 平台,且不應在這兩個平台上註冊、配置或啟用。它僅適用於 SPARC 系統。


UNIX

Access Manager 可以配置為根據安裝有 Access Manager 的 Solaris 或 Linux 系統上已知的 Unix 使用者 ID 和密碼,處理認證請求。雖然僅有一個範圍屬性和幾個用於 Unix 認證的全域屬性,但仍有一些針對系統的考量。若要對本機管理的使用者 ID 進行認證 (請參閱 admintool (1M)),則需要超級使用者存取權限。

「Unix 認證」使用認證 輔助程式 amunixd,它是 Access Manager 主程序以外的單獨程序。此輔助程式會在啟動時偵聽某連接埠,以取得配置資訊。每個 Access Manager 只有一個 Unix 輔助程式以供其所有範圍使用。

如果安裝了 Access Manager 並以 nobody 身份或非超級使用者的使用者 ID 執行,必須仍以超級使用者身份執行 AccessManager-base/SUNWam/share/bin/amunixd 程序。Unix 認證模組透過開啟 localhost:58946 的通訊端來呼叫 amunixd 常駐程式,以偵聽 Unix 認證請求。若要在預設連接埠上執行 amunixd 輔助程式程序,請輸入以下指令:

./amunixd

若要在非預設連接埠上執行 amunixd,請輸入下列指令:

./amunixd [-c portnm] [ipaddress]

IP 位址與連接埠埠號位於 AMConfig.propertiesUnixHelper.ipadrs 屬性 (IPV4 格式) 和 UnixHelper.port 屬性中。您可透過 amserver 指令行公用程式執行 amunixd (amserver 會自動執行此程序,並從 AMConfig.properties 擷取連接埠號和 IP 位址)。

/etc/nsswitch.conf 檔案中的 passwd 項目會決定是參考 /etc/passwd/etc/shadow 檔案,還是參考 NIS 來進行認證。

Windows Desktop SSO

「Windows Desktop SSO 認證」模組是基於 Kerberos 的認證外掛程式模組,用於 Windows 2000™。它可讓通過 Kerberos 配送中心 (Kerberos Distribution Center;KDC) 認證的使用者,毋需再次提交登入條件便可通過 Access Manager 的認證 (單次登入)。

使用者透過 SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) 通訊協定向 Access Manager 提出 Kerberos。為了經由此認證模組來執行基於 Kerberos 的單次登入 Access Manager,在用戶端的使用者必須支援 SPNEGO 通訊協定,才能自我認證。通常,任何支援此通訊協定的使用者應該都能使用這個模組對 Access Manager 進行認證。視用戶端記號的可用性而定,此模組會提供 SPENGO 記號或 Kerberos 記號 (不論那一個,通訊協定都相同)。於 Windows 2000 (或更新版本) 上執行的 Microsoft Internet Explorer (5.01 或更新版本) 目前支援此通訊協定。此外,Solaris (9 和 10) 上的 Mozilla 1.4 具有 SPNEGO 支援,但只會傳回 KERBEROS 記號,因為 Solaris 不支援 SPNEGO。


備註 –

您必須使用 JDK 1.4 或更新版本,才能利用 Kerberos V5 認證模組的新功能和 Java GSS API,在此 SPNEGO 模組中執行基於 Kerberos 的 SSO。


使用的已知限制

若在 WindowsDesktopSSO 認證時使用的是 Microsoft Internet Explorer 6.x,且瀏覽器不具使用者的 Kerberos/SPNEGO 記號 (符合 WindowsDesktopSSO 模組中配置的 (KDC) 範圍) 之存取權,則在瀏覽器對 WindowsDesktopSSO 模組的認證失敗後,瀏覽器對其他模組的運作也會不正確。導致此問題的直接原因在於當 Internet Explorer 無法執行 WindowsDesktopSSO 模組時,即使出現回呼的提示,瀏覽器也無法將回呼 (屬於其他模組) 傳遞至 Access Manager,除非瀏覽器重新啟動。由於 Null 使用者憑證,因此 WindowsDesktopSSO 之後的所有模組都將失敗。

請參閱下列文件以取得相關資訊:

http://support.microsoft.com/default.aspx?scid=kb;en-us;308074

http://www.wedgetail.com/jcsi/sso/doc/guide/troubleshooting.html#ieNTLM

配置 Windows Desktop SSO

啟用 Windows Desktop SSO 認證是一個具有兩個步驟的程序:

  1. 在 Windows 2000 網域控制器中建立一個使用者

  2. 設定 Internet Explorer。

Procedure要在 Windows 2000 網域控制器中建立一個使用者

步驟
  1. 在網域控制器中,建立針對 [Access Manager 認證] 模組的使用者帳號。

    1. 從 [開始] 功能表移至 [程式集] > [管理工具]。

    2. 選取 [使用者與電腦]。

    3. 建立含 Access Manager 主機名稱的新使用者,以作為使用者 ID (登入名稱)。Access Manager 主機名稱不應包含網域名稱。

  2. 將使用者帳號與服務提供者名稱產生關聯,並將 keytab 檔案匯出至安裝了 Access Manager 的系統。若要進行上述動作,請執行下列指令:


    ktpass -princ host/hostname.domainname@DCDOMAIN -pass password -mapuser userName-out 
    
    hostname.host.keytab
    
    ktpass -princ HTTP/hostname.domainname@DCDOMAIN -pass 
    
    password -mapuser userName-out hostname
    
    .HTTP.keytab

    ktpass 指令接受下列參數:

    hostname。執行 Access Manager 的主機名稱 (不含網域名稱)。

    domainname。Access Manager 網域名稱。

    DCDOMAIN。網域控制器的網域名稱。此名稱可能與 Access Manager 的網域名稱不同。

    password。使用者帳號的密碼。請確定密碼正確,因為 ktpass 不會驗證密碼。

    userName。使用者帳號 ID。它應該與 hostname 相同。


    備註 –

    請確保兩個 keytab 檔案均已做好安全措施。


    服務範本值應類似於以下範例:

    服務主體: HTTP/machine1.EXAMPLE.COM@ISQA.EXAMPLE.COM

    Keytab 檔案名稱:/tmp/machine1.HTTP.keytab

    Kerberos 範圍: ISQA.EXAMPLE.COM

    Kerberos 伺服器名稱:machine2.EXAMPLE.com

    使用網域名稱傳回主體:false

    認證層級: 22

  3. 重新啟動伺服器。

Procedure設定 Internet Explorer

上述步驟適用於 Microsoft Internet Explorer™ 6 及更高版本。若您是使用較早的版本,請確定 Access Manager 在瀏覽器的網際網路區域內,並啟用 Windows 原有的認證 (Native Windows Authentication)。

步驟
  1. 在 [工具] 功能表中,移至 [網際網路選項] > [進階/安全性] > [安全性]。

  2. 選取 [整合 Windows 認證] 選項。

  3. 移至 [安全性] > [本機網際網路]。

    1. 選取 [自訂層級]。在 [使用者認證/登入] 面板中,選取 [僅於內部網路域內自動登入] 選項。

    2. 前往 [網站] 並選取所有選項。

    3. 按一下 [進階] ,並將 Access Manager 加入至本機區域 (若尚未加入的話)。

Windows NT

Access Manager 可以配置為搭配已安裝的 Windows NT /Windows 2000 伺服器使用。Access Manager 會提供 NT 認證的用戶端。

  1. 配置 NT 伺服器。如需詳細說明,請參閱 Windows NT 伺服器的文件。

  2. 加入和啟用 Windows NT 認證模組之前,您必須先取得和安裝 Samba 用戶端,以便與 Solaris 系統上的 Access Manager 進行通訊。

安裝 Samba Client

為啟用 Windows NT 認證模組,Samba Client2.2.2 必須下載並安裝於下列目錄中:

AccessManager-base/SUNWam/bin

Samba Client 是一種檔案與列印伺服器,用於不需要單獨的 Windows NT/2000 Server 而將 Windows 和 UNIX 機器結合在一起。如需更多資訊及下載,請於以下位置存取:http://wwws.sun.com/software/download/products/3e3af224.html。

Red Hat Linux 隨附 Samba 用戶端,其所在目錄如下:

/usr/bin

若要使用 Linux 的 Windows NT 認證模組,請將用戶端二進位複製到下列 Access Manager 目錄中:

AccessManager-base/sun/identity/bin

備註 –

如果您有多個介面,則需要額外的配置。多重介面可以透過 smb.conf 檔案中的配置設定,以傳遞到 mbclient


認證模組實例

根據預設認證模組,可為範圍建立多重認證模組實例。您可個別地新增相同認證模組之已配置的多重實例。

Procedure建立新的認證模組實例

步驟
  1. 按一下您要新增認證模組實例的範圍名稱。

  2. 選取 [認證] 標籤。


    備註 –

    [管理員認證配置] 按鈕僅定義管理員的認證服務。若管理員的認證模組必須與一般使用者的認證模組不同,則可以使用此屬性。配置於此屬性中的模組將在存取 Access Manager 主控台時被挑選出來。


  3. 按一下 [模組實例] 清單中的 [新建]。

  4. 輸入認證模組實例的名稱。該名稱必須是唯一的。

  5. 選取範圍之認證模組類型的 [類型]。

  6. 按一下 [建立]。

  7. 按一下剛建立的模組實例名稱並編輯該模組的特性。請參閱線上說明中的「認證」一節,以取得每個模組類型特性的定義。

  8. 重複這些步驟以新增多重模組實例。

認證鏈接

可以配置一個以上的認證模組,因此使用者必需傳送認證憑證給其全體。這稱為認證鏈接。Access Manager 中的認證鏈接可使用整合於認證服務中的 JAAS 框架來達成。模組鏈結配置於認證配置服務底下。

Procedure建立新的認證鏈接

步驟
  1. 按一下您要新增認證鏈接的範圍名稱。

  2. 選取 [認證] 標籤。

  3. 按一下 [認證鏈接] 清單中的 [新建]。

  4. 輸入此認證鏈接的名稱。

  5. 按一下 [建立]。

  6. 按一下 [新增] 以定義您要包括於鏈接中的認證模組實例。若要這麼做,請由實例清單中選取模組實例名稱。顯示於此清單中的模組實例名稱是在模組實例屬性中所建立的。

  7. 選取鏈接的條件。這些旗標為定義這些旗標的認證模組建立實施準則。此實施具有階層結構。[必要的] 為最高階層而 [可選的] 為最低階層:

    必要條件

    模組實例必須成功。若成功,認證將繼續進行至 [認證鏈接] 清單中的下一個選項。如果失敗,控制立即返回應用程式 (認證將不會繼續 [認證鏈接] 清單中的下一個選項)。

    必要的

    此模組的認證過程必須成功。若鏈接中任何一個必要模組失敗了,則整個認證鏈接將完全失敗。然而,無論必要模組成功與否,控制將繼續進行至鏈接中的下一個模組。

    充足的

    模組實例不必要成功。若其確實成功,控制將立即返回應用程式 (認證將不進行至模組實例清單的下一個選項)。若失敗,認證將繼續進行至 [認證鏈接] 清單中的下一個選項。

    可選的

    模組實例不必要成功。無論成功或失敗,認證都將繼續進行至 [認證鏈接] 清單中的下一個選項。

  8. 輸入鏈接的選項。允許此模組使用的其他選項,格式為鍵=值對。多重選項由空格分隔。

  9. 定義下列屬性:

    成功登入 URL

    指定使用者認證成功後將重新導向至的 URL。

    登入失敗 URL

    指定使用者認證失敗後將重新導向至的 URL。

    認證後處理類別

    定義於登入成功或失敗後用來自訂認證後處理的 Java 類別名稱。

  10. 按一下 [儲存]。

認證類型

認證服務提供不同的方式讓認證套用。這些不同的認證方法可藉由指定登入 URL 參數或透過認證 API 來獲取 (請參閱使用者指南中「Sun Java System Access Manager 7 2005Q4 Developer’s Guide」中的第 5 章「Using Authentication APIs and SPIs」以取得更多資訊) 。配置認證模組之前,必須先修改 [核心認證] 服務屬性 [範圍認證模組],使之包括特定的認證模組名稱。

認證配置服務用於為以下任一認證類型定義認證模組:

為這些認證類型之一定義認證模組後,便可以將此模組配置為根據認證程序成敗提供重新導向 URL 以及處理後的 Java 類別規格。

認證類型決定存取的方式

這些方法的每一種,使用者都可以核准或是拒絕認證。一旦做出決定,每種方法都會依照此程序。步驟 1 至步驟 3 依照成功的認證;步驟 4 依照成功與失敗兩者的認證。

  1. Access Manager 確認認證的使用者是否定義於 Directory Server 資料存放區中,且設定檔是否於使用中。

    核心認證模組中的使用者設定檔屬性可以定義為必需動態、隨使用者別名動態變化忽略。認證成功之後,Access Manager 會確認 Directory Server 資料庫中是否定義了要認證的使用者,並且如果使用者設定檔值為必需,再確認設定檔是否在使用中。這是預設情形。如果使用者設定檔為動態配置認證服務將會在 Directory Server 資料庫中建立使用者設定檔。若使用者設定檔設定為忽略,將不會完成使用者驗證。

  2. 認證處理後 SPI 的執行完成。

    核心認證模組包含認證處理後類別屬性,其中可能納入認證處理後類別名稱為其值。AMPostAuthProcessInterface 是處理後介面。它可以執行於成功或失敗認證上或是在登出後。

  3. 下列特性會加入階段作業記號,或在階段作業記號中更新,而使用者的階段作業會啟動。

    realm。這是使用者歸屬的範圍 DN。

    Principal。這是使用者的 DN。

    Principals。這是使用者已認證過的名稱清單。此屬性可能有一項以上的值定義為以管道分隔的清單。

    UserId。這是使用者的 DN (與模組傳回的相同),或在非 LDAP 或 Membership 模組的情況下,為使用者名稱。(所有主體都必需對映到相同的使用者。UserID 為它們所對映之使用者 DN。)


    備註 –

    此特性可為非 DN 值。


    UserToken。這是使用者名稱。(所有主體都必需對映到相同的使用者。UserToken 為它們所對映之使用者名稱。)

    Host。這是用戶端的主機名稱或是 IP 位址。

    authLevel。這是使用者已認證過的最高層級。

    AuthType。這是已認證其使用者的認證模組之以直線符號分隔的清單 (例如,module1|module2|module3)

    clientType。這是用戶端瀏覽器的裝置類型。

    Locale。這是用戶端的語言環境。

    CharSet。這是決定用於用戶端的字元集。

    Role。僅適用於基於角色的認證,此為使用者歸屬的角色。

    Service。僅適用於基於服務的認證,此為使用者歸屬的服務。

  4. 在成功或失敗認證後,Access Manager 會尋找重新導向使用者的位置之相關資訊。

    URL 重新導向目的位置可以是 Access Manager 頁面或 URL。重新導向會依據優先順序進行,Access Manager 則根據認證方法及認證是否已成功或已失敗,依此優先順序尋找重新導向。此順序詳述於下列認證方法章節的重新導向部分。

URL 重新導向

於認證配置服務中,您可為成功或失敗的認證指定 URL 重新導向。URL 本身在此服務的 [登入成功 URL] 和 [登入失敗 URL] 屬性中定義。為了啟用 URL 重新導向,您必須將認證配置服務加入您的範圍,使之可用於角色、範圍或使用者的配置。在加入認證配置服務時,請確定您加入的是認證模組,例如 LDAP - REQUIRED。

基於範圍的認證

此認證方法可讓使用者對一個範圍或子範圍進行認證。此為 Access Manager 的預設認證方法。範圍的認證方法是透過對範圍註冊核心認證模組,並定義範圍認證配置屬性來設定的。

基於範圍的認證登入 URL

藉由定義 realm 參數或 domain 參數,可於使用者介面登入 URL 中指定認證的範圍。由下列項目決定認證的請求範圍,其優先順序為:

  1. domain 參數。

  2. realm 參數。

  3. 管理服務中的 DNS 別名屬性值。

    於呼叫正確的範圍後,將從核心認證服務的範圍認證配置屬性擷取使用者將認證的認證模組。用來指定並初始基於範圍的認證的登入 URL 為:


    http://server_name.domain_name:port/amserver/UI/Login
    
    http://server_name.domain_name:port/amserver/UI/Login?domain=domain_name
    
    http://server_name.domain_name:port/amserver/UI/Login?realm=realm_name

    若無定義的參數,則將從指定於登入 URL 中的伺服器主機和網域決定範圍。

基於範圍的認證重新導向 URL

於基於組織的認證成功或失敗後,Access Manager 會尋找重新導向使用者的位置之相關資訊。以下為應用程式尋找此資訊的優先順序。

成功的基於範圍的認證重新導向 URL

成功的基於範圍的認證重新導向 URL 是依優先順序檢查下列位置來決定:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml)iplanet-am-user-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  5. 使用者範圍項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  6. iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 設定於使用者設定檔 (amUser.xml) 之 iplanet-am-user-success-url 屬性中的 URL。

  8. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  9. 設定於使用者範圍項目之 iplanet-am-auth-login-success-url 屬性中的 URL。

  10. iplanet-am-auth-login-success-url 屬性中設定的 URL,作為全域預設值。

失敗的基於範圍的認證重新導向 URL

失敗的基於範圍的認證重新導向 URL 是以下列順序檢查下列位置來決定:

  1. 認證模組設定的 URL。

  2. gotoOnFail 登入 URL 參數設定的 URL。

  3. 對使用者項目 ( amUser.xml) 的 iplanet-am-user-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  4. 使用者角色項目的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 對使用者範圍項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  6. iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 於使用者項目 (amUser.xml) 中設定 iplanet-am-user-failure-url 屬性的 URL。

  8. 針對使用者角色項目之 iplanet-am-auth-login-failure-url 屬性設定的 URL。

  9. 設定使用者範圍項目之 iplanet-am-auth-login-failure-url 屬性的 URL。

  10. 針對 iplanet-am-auth-login-failure-url 屬性設定的 URL,作為全域預設值。

若要配置基於範圍的認證

要為範圍設定認證模組,先對範圍新增核心認證服務。

Procedure若要配置範圍的認證屬性

步驟
  1. 瀏覽至您要新增認證鏈接的範圍。

  2. 按一下 [認證] 標籤。

  3. 由下拉式功能表選取 [預設認證鏈接]。

  4. 由下拉式功能表選取 [管理認證鏈接]。如果需要管理員的認證模組與使用者的認證模組有所不同,則可以使用此屬性。預設認證模組為 LDAP。

  5. 定義了認證鏈接之後,按一下 [儲存]。

基於組織的認證

此認證類型僅可套用至以「舊有」模式安裝的 Access Manager 部署。

此認證方法可讓使用者對一個組織或子組織進行認證。它是 Access Manager 的預設認證方法。用於組織的認證方法是透過註冊核心認證模組到組織,並定義組織認證配置屬性來設定的。

基於組織的認證登入 URL

藉由定義 org 參數或 domain 參數,可以在使用者介面登入 URL 中指定認證的組織。用於認證的請求組織從下列決定,優先順序為:

  1. domain 參數。

  2. org 參數。

  3. 管理服務中 DNS 別名 (組織別名) 屬性的值。

    在呼叫正確的組織後,會從核心認證服務的組織認證配置屬性擷取使用者將認證的認證模組。用於指定和初始化基於組織的認證的登入 URL 為:


    http://server_name.domain_name:port/amserver/UI/Login
    
    http://server_name.domain_name:port/amserver/UI/Login?domain=domain_name
    
    http://server_name.domain_name:port/amserver/UI/Login?org=org_name

    如果沒有定義的參數,將從登入中的伺服器主機和網域決定組織。

基於組織的認證重新導向 URL

於基於組織的認證成功或失敗後,Access Manager 會尋找重新導向使用者的位置之相關資訊。以下為應用程式尋找此資訊的優先順序。

成功的基於組織的認證重新導向 URL

成功的基於組織的認證,其重新導向 URL 是以此優先順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml)iplanet-am-user-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  5. 對使用者組織項目的 iplanet-am-auth-login-success-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  6. iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 設定於使用者設定檔 (amUser.xml) 之 iplanet-am-user-success-url 屬性中的 URL。

  8. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  9. 使用者組織項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  10. iplanet-am-auth-login-success-url 屬性中設定的 URL,作為全域預設值。

失敗的基於組織的認證重新導向 URL

失敗的基於組織的認證,其重新導向 URL 是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. gotoOnFail 登入 URL 參數設定的 URL。

  3. 對使用者項目 ( amUser.xml) 的 iplanet-am-user-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  4. 使用者角色項目的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 對使用者組織項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  6. iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 於使用者項目 (amUser.xml) 中設定 iplanet-am-user-failure-url 屬性的 URL。

  8. 針對使用者角色項目之 iplanet-am-auth-login-failure-url 屬性設定的 URL。

  9. 針對使用者組織項目之 iplanet-am-auth-login-failure-url 屬性設定的 URL。

  10. 針對 iplanet-am-auth-login-failure-url 屬性設定的 URL,作為全域預設值。

若要配置基於組織的認證

要為組織設定認證模組,先為組織加入核心認證服務。

Procedure若要配置組織的認證屬性

步驟
  1. 瀏覽至您要新增認證鏈接的組織。

  2. 按一下 [認證] 標籤。

  3. 由下拉式功能表選取 [預設認證鏈接]。

  4. 由下拉式功能表選取 [管理認證鏈接]。如果需要管理員的認證模組與使用者的認證模組有所不同,則可以使用此屬性。預設認證模組為 LDAP。

  5. 定義了認證鏈接之後,按一下 [儲存]。

基於角色的認證

此認證方法可讓使用者對組織或是子組織之中的角色 (靜態或篩選) 進行認證 。


備註 –

於認證配置服務可註冊為實例或角色之前,必需先註冊至範圍中。


若要成功認證,使用者必需屬於該角色,並且必需認證到為該角色配置的認證配置服務實例中定義的每個模組。對每個基於角色的認證之實例,可指定下列屬性:

衝突解決層級。 這為認證配置服務實例 (為包含相同使用者的不同角色所定義) 設定優先層級。例如,如果同時將 User1 指定給 Role1Role2,可設定較高的衝突解決層級給 Role1,以便在使用者嘗試認證時,Role1 將具有較高的成功或失敗重新導向及認證後程序優先順序。

認證配置。這會定義針對角色的認證程序配置之認證模組。

登入成功 URL。此項定義在成功認證上重新導向使用者的 URL。

登入失敗 URL。此項定義在失敗認證上重新導向使用者的 URL。

認證處理後類別。此將定義後認證介面。

基於角色的認證登入 URL

透過定義角色參數,可以在使用者介面登入 URL 中指定基於角色的認證。在呼叫正確的角色後,會從為角色定義的認證配置服務實例擷取使用者將認證的認證模組。

用於指定和初始化基於角色的認證的登入為:

http://server_name.domain_name:port/amserver/UI/Login?role=role_name

http://server_name.domain_name:port/amserver/UI/Login?realm=realm_name&role=role_name

如果未配置範圍參數,會從指定於登入 URL 自身中的伺服器主機和網域決定角色所屬的範圍。

基於角色的認證重新導向 URL

於基於角色的認證成功或失敗後,Access Manager 會尋找重新導向使用者的位置之相關資訊。以下為應用程式尋找此資訊的優先順序。

成功的基於角色的認證重新導向 URL

成功的基於角色的認證,其重新導向 URL 是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml)iplanet-am-user-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 已對其認證使用者之角色的 iplanet-am-auth-login-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 已認證使用者另一個角色項目的 iplanet-am-auth-login-success-url 屬性之 clientType 自訂檔案中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)

  6. 使用者範圍項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  7. iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL,做為全域預設值。

  8. 設定於使用者設定檔 (amUser.xml) 之 iplanet-am-user-success-url 屬性中的 URL。

  9. 已對其認證使用者的角色之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  10. 已認證使用者另一個角色項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)

  11. 設定於使用者範圍項目之 iplanet-am-auth-login-success-url 屬性中的 URL。

  12. iplanet-am-auth-login-success-url 屬性中設定的 URL,作為全域預設值。

失敗的基於角色的認證重新導向 URL

失敗的基於角色的認證,其重新導向 URL 是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml) 的 iplanet-am-user-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 已對其認證使用者之角色的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 已認證使用者另一個角色項目的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)

  6. 對使用者範圍項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  7. iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL,做為全域預設值。

  8. 於使用者設定檔 (amUser.xml)iplanet-am-user-failure-url 屬性中設定的 URL。

  9. 已對其認證使用者的角色之 iplanet-am-auth-login-failure-url 屬性中設定的 URL。

  10. 已認證使用者另一個角色項目之 iplanet-am-auth-login-failure-url 屬性中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)

  11. 設定於使用者範圍項目之 iplanet-am-auth-login-failure-url 屬性中的 URL。

  12. iplanet-am-auth-login-failure-url 屬性中設定的 URL,作為全域預設值。

Procedure若要配置基於角色的認證

步驟
  1. 瀏覽至您將新增認證配置服務的範圍 (或組織)。

  2. 按一下 [主旨] 標籤。

  3. 篩選的角色或角色。

  4. 選取要設定認證配置的角色。

    若尚未將認證配置服務新增至角色,請按一下 [新增],選取 [認證服務],再按一下 [下一步]。

  5. 由下拉式功能表選取您要啟用的 [預設認證鏈接]。

  6. 按一下 [儲存]。


    備註 –

    如果您要建立新的角色,系統不會自動為此角色指定認證配置服務。請確定先選取角色設定檔頁面頂部的 [認證配置服務] 選項,然後再建立角色。

    啟用基於角色的認證後,可以保留 LDAP 認證模組做為預設方式,因為無需配置成員身份。


基於服務的認證

此認證方法可讓使用者對特定的服務或註冊至範圍或子範圍的應用程式進行認證。服務配置為認證配置服務中的服務實例並且與一個實例名稱相關。若要成功認證,使用者必需認證到每個為服務配置的認證配置服務實例中定義的模組。對每個基於服務的認證之實例,可指定下列屬性:

認證配置。這會定義針對 service 的認證程序配置之認證模組。

登入成功 URL。此項定義在成功認證上重新導向使用者的 URL。

登入失敗 URL。此項定義在失敗認證上重新導向使用者的 URL。

認證處理後類別。此將定義後認證介面。

基於服務的認證登入 URL

透過定義服務參數,可以在使用者介面登入中指定基於服務的認證。在呼叫服務後,會從為服務定義的認證配置服務實例擷取使用者將認證的認證模組。

用於指定和初始化基於服務的認證的登入 URL 為:

http://server_name.domain_name:port/amserver/UI/

Login?service=auth-chain-name

http://server_name.domain_name:port/amserver/UI/Login?realm=realm_name&service=auth-chain-name

e

如果沒有配置 org 參數,將從指定於登入 URL 自身中的伺服器主機和網域決定範圍。

基於服務的認證重新導向 URL

於基於服務的認證成功或失敗後,Access Manager 會尋找重新導向使用者的位置之相關資訊。以下為應用程式尋找此資訊的優先順序。

成功的基於服務的認證重新導向 URL

成功的基於服務的認證,其重新導向 URL 是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml)iplanet-am-user-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 已對其認證使用者之服務的 iplanet-am-auth-login-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  6. 使用者範圍項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  7. iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL,做為全域預設值。

  8. 設定於使用者設定檔 (amUser.xml) 之 iplanet-am-user-success-url 屬性中的 URL。

  9. 已對其認證使用者的服務之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  10. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  11. 設定於使用者範圍項目之 iplanet-am-auth-login-success-url 屬性中的 URL。

  12. iplanet-am-auth-login-success-url 屬性中設定的 URL,作為全域預設值。

失敗的基於服務的認證重新導向 URL

失敗的基於服務的認證,其重新導向是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml) 的 iplanet-am-user-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 已對其認證使用者之服務的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 使用者角色項目的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  6. 對使用者範圍項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  7. iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL,做為全域預設值。

  8. 設定於使用者設定檔 (amUser.xml) 之 iplanet-am-user-failure-url 屬性中的 URL。

  9. 已對其認證使用者的服務之 iplanet-am-auth-login-failure-url 屬性中設定的 URL。

  10. 於使用者角色項目之 iplanet-am-auth-login-failure-url 屬性中設定的 URL。

  11. 設定於使用者範圍項目之 iplanet-am-auth-login-failure-url 屬性中的 URL。

  12. iplanet-am-auth-login-failure-url 屬性中設定的 URL,作為全域預設值。

Procedure若要配置基於服務的認證

加入認證配置服務之後,為服務設定認證模組。若要如此,請:

步驟
  1. 選擇您要配置基於服務的認證的範圍。

  2. 按一下 [認證] 標籤。

  3. 建立認證模組實例。

  4. 建立認證鏈接。

  5. 按一下 [儲存]。

  6. 若要存取範圍的基於服務的認證,請輸入下列位址:

    http://server_name.domain_name:port/amserver/UI/Login?realm=realm_name&service=auth-chain-name

基於使用者的認證

此認證方法可讓使用者對特別為使用者配置的認證程序進行認證。該程序被配置為使用者設定檔中使用者認證配置屬性的值。若要成功認證,使用者必需認證到每個定義的模組。

基於使用者的認證登入 URL

透過定義使用者參數,可以在使用者介面登入中指定基於使用者的認證。在呼叫正確的使用者後,將從為使用者定義的使用者認證配置服務實例擷取使用者將認證的認證模組。

用於指定和初始化基於角色的認證的登入為:

http://server_name.domain_name:port/amserver/UI/Login?user=user_name

http://server_name.domain_name:port/amserver/UI/Login?org=org_name&user=user_name

如果沒有配置的範圍參數,會從指定於登入 URL 自身中的伺服器主機和網域決定角色所屬的範圍。

使用者別名清單屬性

在接收基於使用者的認證的請求時,認證服務會先驗證使用者是有效的使用者,然後為其擷取認證配置資料。在有一個以上有效使用者設定檔與使用者參數有關的情形時,所有的設定檔必需對映到指定的使用者。使用者設定檔中的使用者別名屬性 (iplanet-am-user-alias-list ) 是能定義其他屬於該使用者的設定檔之位置。如果對映失敗,則使用者會受到有效階段作業的拒絕。異常將是若其中一個使用者為一個頂層管理,則使用者對映驗證並未執行並給予使用者最高的管理權限。

基於使用者的認證重新導向 URL

於基於使用者的認證成功或失敗後,Access Manager 會尋找重新導向使用者的位置之相關資訊。以下為應用程式尋找此資訊的優先順序。

成功的基於使用者的認證重新導向 URL

成功的基於使用者的認證,其重新導向是以此優先順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml)iplanet-am-user-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  5. 使用者範圍項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  6. iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 設定於使用者設定檔 (amUser.xml) 之 iplanet-am-user-success-url 屬性中的 URL。

  8. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  9. 設定於使用者範圍項目之 iplanet-am-auth-login-success-url 屬性中的 URL。

  10. iplanet-am-auth-login-success-url 屬性中設定的 URL,作為全域預設值。

失敗的基於使用者的認證重新導向 URL

失敗的基於使用者的認證,其重新導向 URL 是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. gotoOnFail 登入 URL 參數設定的 URL。

  3. 對使用者項目 ( amUser.xml) 的 iplanet-am-user-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  4. 使用者角色項目的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 對使用者範圍項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  6. iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 於使用者項目 (amUser.xml) 中設定 iplanet-am-user-failure-url 屬性的 URL。

  8. 針對使用者角色項目之 iplanet-am-auth-login-failure-url 屬性設定的 URL。

  9. 設定使用者範圍項目之 iplanet-am-auth-login-failure-url 屬性的 URL。

  10. 針對 iplanet-am-auth-login-failure-url 屬性設定的 URL,作為全域預設值。

Procedure若要配置基於使用者的認證

步驟
  1. 瀏覽至您要為使用者配置認證的範圍。

  2. 按一下 [主旨] 標籤並按一下 [使用者]。

  3. 按一下您要修改的使用者名稱

    [使用者設定檔] 隨即顯示。


    備註 –

    如果您要建立新的使用者,系統不會自動為此使用者指定認證配置服務。請確定先於服務設定檔中選取 [認證配置服務] 選項,然後再建立使用者。如果未選取此選項,使用者將無法繼承為角色定義的認證配置。


  4. 於使用者認證配置屬性中,選取您要套用的認證鏈接。

  5. 按一下 [儲存]。

基於認證層級的認證

每個認證模組均可與其認證層級的整數值相關聯。藉著按一下 [服務配置] 中認證模組的 [特性] 箭頭,並變更模組之 [認證層級] 屬性的相應值,可以指定認證層級。使用者在一個或多個認證模組中經過認證後,較高的認證層級為使用者定義較高的信任層級。

對模組成功認證使用者後,將在使用者的 SSO 記號上設定認證層級。若必須對多個認證模組認證使用者,同時也成功完成這些認證,將會在使用者的 SSO 記號中設定最高認證層級值。

若使用者嘗試存取服務,服務可檢查使用者的 SSO 記號中之認證層級,來決定是否允許使用者進行存取。然後,它將重新導向使用者以標記的認證層級通過認證模組。

使用者還可以使用特定的認證層級存取認證模組。例如,某使用者使用以下語法執行登入:

http://hostname:port/deploy_URI/UI/Login?authlevel=

auth_level_value

其認證層級大於或等於 auth_level_value 的所有模組將顯示為認證功能表,供使用者選擇。如果僅找到一個相符的模組,則會直接顯示此認證模組的登入頁面。

此認證方法可讓管理員指定可認證身份的模組的安全層級。每個認證模組都有個別的認證層級屬性,而此屬性的值可以被定義為任何有效的整數。藉由認證基於層級的認證,認證服務使用包含認證模組具有等於或大於參數中指定值的認證層級的功能表顯示模組登入頁。使用者可從現有的清單選取一個模組。一旦使用者選取模組後,剩餘的程序則根據基於模組的認證。

基於認證層級的認證登入 URL

透過定義 參數,可以在使用者介面登入中指定認證基於層級的認證。在以模組的相關清單呼叫登入螢幕後,使用者必需選擇一項來認證。用於指定和初始化認證基於層級的認證的登入為:

http://server_name.domain_name:port/amserver/UI/Login?authlevel=authentication_level

http://server_name.domain_name:port/amserver/UI/

Login?realm=realm_name&authlevel=authentication_level

如果沒有配置 realm 參數,將從指定於登入 URL 自身中的伺服器主機和網域決定使用者所屬的範圍。

認證基於層級的認證重新導向 URL

於認證基於層級的認證成功或失敗後,Access Manager 會尋找重新導向使用者的位置之相關資訊。以下為應用程式尋找此資訊的優先順序。

成功的基於認證層級的認證重新導向 URL

成功的基於認證層級的認證重新導向 URL 是以此優先順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 對使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  4. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  5. 使用者範圍項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  6. iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 於使用者設定檔 (amUser.xml) 中的 iplanet-am-user-success-url 屬性中設定一個 URL。

  8. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  9. 設定於使用者範圍項目之 iplanet-am-auth-login-success-url 屬性中的 URL。

  10. iplanet-am-auth-login-success-url 屬性中設定的 URL,作為全域預設值。

失敗的基於認證層級的認證重新導向 URL

失敗的基於認證層級的認證重新導向 URL 是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. gotoOnFail 登入 URL 參數設定的 URL。

  3. 對使用者項目 ( amUser.xml) 的 iplanet-am-user-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  4. 使用者角色項目的 iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL。

  5. 對使用者範圍項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  6. iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 於使用者項目 (amUser.xml) 中設定 iplanet-am-user-failure-url 屬性的 URL。

  8. 針對使用者角色項目之 iplanet-am-auth-login-failure-url 屬性設定的 URL。

  9. 設定使用者範圍項目之 iplanet-am-auth-login-failure-url 屬性的 URL。

  10. 針對 iplanet-am-auth-login-failure-url 屬性設定的 URL,作為全域預設值。

基於模組的認證

使用者可以使用以下語法存取特定認證模組:

http://hostname:port/deploy_URI/UI/Login?module=

module_name

存取認證模組之前,必須先修改 [核心認證] 服務屬性 [範圍認證模組] ,使之包括此認證模組名稱。如果該屬性中未包括此認證模組名稱,使用者嘗試認證時,系統將顯示 [認證模組遭拒] 頁面。

此認證方法可讓使用者指定他們要認證的模組。指定的模組必須註冊至使用者存取的範圍或子範圍。此將配置於範圍核心認證服務的範圍認證模組屬性。在接收此項基於模組的認證請求時,認證服務會驗證模組如說明一樣正確配置,如果未定義模組,使用者會被拒絕存取。

基於模組的認證登入 URL

透過定義模組參數,可以在使用者介面登入中指定基於模組的認證。用於指定和初始化基於模組的認證的登入 URL 為:

http://server_name.domain_name:port/amserver/UI/Login?module=authentication_module_name

http://server_name.domain_name:port/amserver/UI/

Login?org=org_name&module=authentication_module_name

如果沒有配置的 org 參數,將從指定於登入 URL 自身中的伺服器主機和網域決定使用者所屬的範圍。

基於模組的認證重新導向 URL

於模組型認證成功或失敗後,Access Manager 會尋找重新導向使用者的位置之相關資訊。以下為應用程式尋找此資訊的優先順序。

成功的基於模組的認證重新導向 URL

成功的基於模組的認證,其重新導向 URL 是以此優先順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. goto 登入 URL 參數設定的 URL。

  3. 使用者設定檔 (amUser.xml)iplanet-am-user-success-url 屬性之 clientType 自訂檔案中設定的 URL。

  4. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  5. 使用者範圍項目之 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。

  6. iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 於使用者設定檔 (amUser.xml) 中的 iplanet-am-user-success-url 屬性中設定一個 URL。

  8. 使用者角色項目之 iplanet-am-auth-login-success-url 屬性中設定的 URL。

  9. 設定於使用者範圍項目之 iplanet-am-auth-login-success-url 屬性中的 URL。

  10. iplanet-am-auth-login-success-url 屬性中設定的 URL,作為全域預設值。

失敗的基於模組的認證重新導向 URL

失敗的基於模組的認證,其重新導向是以此順序檢查下列位置決定的:

  1. 認證模組設定的 URL。

  2. gotoOnFail 登入 URL 參數設定的 URL。

  3. 對使用者項目 ( amUser.xml) 的 iplanet-am-user-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  4. 對使用者角色項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  5. 對使用者範圍項目的 iplanet-am-auth-login-failure-url 屬性,於 clientType 自訂檔案中設定一個 URL。

  6. iplanet-am-auth-login-failure-url 屬性之 clientType 自訂檔案中設定的 URL,做為全域預設值。

  7. 針對使用者角色項目之 iplanet-am-auth-login-failure-url 屬性設定的 URL。

  8. 設定使用者範圍項目之 iplanet-am-auth-login-failure-url 屬性的 URL。

  9. 針對 iplanet-am-auth-login-failure-url 屬性設定的 URL,作為全域預設值。

使用者介面登入 URL

輸入登入 URL 到網路瀏覽器的位置列可存取認證服務使用者介面。此 URL 為:

http://AccessManager-root/.domain_name:port /service_deploy_uri /UI/Login


備註 –

於安裝期間,將 service_deploy_uri 配置為 amserver。本文件中將使用此預設的服務部署 URI。


使用者介面登入 URL 亦可與登入 URL 參數隨附一起,以定義指定的認證方法或成功/失敗的認證重新導向 URL。

登入 URL 參數

URL 參數是附加到 URL 尾端的名稱/值對。參數以問號開頭 (?),形式為 name=value。一些參數可以合併到一個登入中,例如:

http://server_name.domain_name:port/amserver/UI/

Login?module=LDAP&locale=ja&goto=http://www.sun.com

如果有一個或多個參數,會以 & 符號做為分隔符號。不過組合必須遵守下列指導方針:

下節描述參數在附加到使用者介面登入 URL,以及鍵入網路瀏覽器的位置列時,可達到的多種認證功能。


備註 –

若要簡化在範圍內發佈的認證 URL 和參數,管理員可配置一個具備單一 URL 的 HTML 網頁,其中包含所有已配置的認證方法的更為複雜的登入 URL。


goto 參數

goto=successful_authentication_URL 參數會覆寫認證配置服務之 [登入成功 URL] 中定義的值。當達到成功認證時,它會連結到指定的 URL。使用者登出時,也可以使用 goto= logout_URL 參數連結至指定的 URL。例如,成功的認證 URL:

http://server_name.domain_name:port/amserver/

UI/Login?goto=http://www.sun.com/homepage.html

範例的 goto 登出 URL:

http://server_name.domain_name:port/amserver/

UI/Logout?goto=http://www.sun.com/logout.html.

備註 –

Access Manager 尋找成功認證重新導向 URL 時有一項優先順序。因為這些重新導向 URL 及其順序是以認證方法為基礎,此順序 (及相關資訊) 於「認證類型」一節中有詳細說明。


gotoOnFail 參數

gotoOnFail=failed_authentication_URL 參數會覆寫認證配置服務之 [登入失敗 URL] 中定義的值。如果使用者認證失敗,它將會連結到指定的 URL。範例的 gotoOnFail URL 為:http:// server_name.domain_name:port /amserver/UI/Login?gotoOnFail=http://www.sun.com/auth_fail.html


備註 –

Access Manager 使用優先順序尋找失敗的認證重新導向 URL。因為這些重新導向 URL 及其順序是以認證方法為基礎,此順序 (及相關資訊) 於「認證類型」一節中有詳細說明。


realm 參數

org=realmName 參數允許使用者認證成為指定範圍中的使用者。


備註 –

當使用者嘗試以 realm 參數認證時,若其不是指定範圍的成員,就會收到錯誤訊息。如果以下全部皆為 TRUE 時,可以於 Directory Server 中動態建立使用者設定檔:

因為這項參數,將顯示正確的登入頁 (根據範圍及其系統語言設定)。若未設定此參數,預設值為頂層範圍。例如:org URL 可以是:

http://server_name.domain_name:port/amserver/UI/Login?realm=sun

org 參數

org=orgName 參數允許使用者認證成為指定組織中的使用者。


備註 –

當使用者嘗試以 org 參數認證時,若其不是指定組織的成員,就會收到錯誤訊息。如果以下全部皆為 TRUE 時,可以於 Directory Server 中動態建立使用者設定檔:

因為這項參數,將顯示正確的登入頁根據其組織與系統語言設定。如果未設定此參數,預設值為頂層組織。例如:org URL 可以是:

http://server_name.domain_name:port/amserver/UI/Login?org=sun

user 參數

user=userName 參數基於使用者設定檔之 [使用者認證配置] 屬性中配置的模組進行強制認證。例如,可將一個使用者設定檔配置為使用憑證模組進行認證,而將另一個使用者設定檔配置為使用 LDAP 模組進行認證。新增此參數會將使用者傳送到其配置的認證程序,而非為其組織配置的方法。例如:

http://server_name.domain_name:port/amserver/UI/Login?user=jsmith

role 參數

role=roleName 參數會將使用者傳送至指定角色配置的認證程序。當使用者嘗試以參數認證時,若不是指定角色的成員,則會收到錯誤訊息。例如:

http://server_name.domain_name:port/amserver/UI/Login?role=manager.

locale 參數

Access Manager 具有為認證程序及主控台本身顯示本土化的畫面 (譯為非英語的語言) 的功能。locale=localeName 允許指定的語言環境優先於任何其他定義的語言環境。以下列位置、指定順序搜尋配置後,登入語言環境會由用戶端顯示:

  1. 登入 URL 中的語言環境參數值

    locale=localeName 參數的值優先於所有其他定義的語言環境。

  2. 使用者設定檔中定義的語言環境

    如果沒有 URL 參數,會根據在使用者設定檔的 [使用者喜好的語言] 屬性中設定的值顯示語言環境。

  3. 在標頭中定義的語言環境

    語言環境由網路瀏覽器所定義。

  4. [核心認證服務] 中定義的語言環境

    這是在 [核心認證] 模組中 [預設認證語言環境] 屬性的值。

  5. 在 [平台服務] 中定義的語言環境

    這是在 [平台] 服務中 [平台語言環境] 屬性的值。

作業系統語言環境

由此等級順序導出的語言環境儲存於使用者的階段作業記號中,且 Access Manager 僅用它來載入本地化的認證模組。成功認證後,會使用於使用者設定檔之使用者喜好的語言屬性中定義的語言環境。如果都沒有設定,將繼續保持認證所使用的語言環境。例如:


http://server_name.domain_name:port/amserver/UI/Login?locale=ja.

備註 –

如何本地化畫面文字和錯誤訊息的資訊可於 Access Manager 中找到。


module 參數

module=moduleName 參數允許經由指定的認證模組進行認證。可指定任何模組,即使必須先於範圍之下註冊模組,此範圍為使用者所屬且選取為核心認證模組中該範圍認證的其中一個。例如:

http://server_name.domain_name:port/amserver/UI/Login?module=Unix.

備註 –

在參數中使用認證模組名稱時要區分大小寫。


service 參數

service=serviceName 參數允許經由服務已配置的認證方案來認證使用者。可配置不同的認證方案給使用 [認證配置] 服務的不同服務。例如,當範圍員工目錄應用程式可能僅需要 LDAP 認證模組的同時,一個線上薪資應用程式可能需要使用更安全憑證認證模組來進行認證。認證方案可以被配置、命名給這些服務的每一項。例如:

http://server_name.domain_name:port/amserver/UI/Login?service=sv1.

備註 –

認證配置服務用於定義方案給以服務為基礎的認證。


arg 參數

arg=newsession 參數用於結束使用者的目前階段作業,並開始新的階段作業。認證服務會銷毀使用者現有的階段作業記號,並接受一個請求執行新的登入。此選項通常用於 [匿名認證] 模組中。使用者先以匿名階段作業認證,然後點一下註冊或登入連結。例如:

http://server_name.domain_name:port/amserver/UI/Login?arg=newsession。

authlevel 參數

authlevel=value 參數會指示認證服務呼叫認證層級等於或大於指定認證層級值的模組。每個認證模組都使用固定的整數認證層級定義。例如:

http://server_name.domain_name:port/amserver/UI/Login?authlevel=1.

備註 –

認證層級是於每個模組的特定設定檔中設定。。


domain 參數

此參數可讓使用者登入由指定的網域所標識的範圍。指定的網域必須符合定義於範圍設定檔之網域名稱屬性中的值。例如:

http://server_name.domain_name:port/amserver/UI/Login?domain=sun.com。

備註 –

當使用者嘗試以 org 參數認證時,若其不是指定網域/範圍的成員,就會收到錯誤訊息。如果以下各點全部皆為 TRUE 時,可以於 Directory Server 中動態建立使用者設定檔:


iPSPCookie 參數

iPSPCookie=yes 參數允許使用者以永久性 Cookie 登入。永久性 Cookie 在瀏覽器視窗關閉後仍然繼續存在。要使用此參數,使用者登入的範圍必須在其核心認證模組中啟用永久性 Cookie。一旦使用者認證及瀏覽器關閉,使用者可以新的階段作業登入,並將導向至控制台而不需重新認證。在核心服務中指定的永久性 Cookie 最大時間屬性消逝前,該功能都有效。例如:

http://server_name.domain_name:port/amserver/UI/Login?org=example&iPSPCookie=yes

IDTokenN 參數

此參數可讓使用者藉由 URL 或 HTML 形式傳送認證憑證。利用 IDTokenN= value 參數,使用者毋須存取認證服務使用者介面便可被認證。此程序稱為零頁登入。零頁登入只適用於使用單一登入頁的認證模組。IDToken0、IDToken1、...、IDTokenN 值對映至認證模組登入頁面上的欄位。例如,LDAP 認證模組可能將 IDToken1 用於 userID 資訊、將 IDToken2 用於密碼資訊。在這種情形下,LDAP 模組 IDTokenN URL 將是:

http://server_name.domain_name:port/amserver/UI/

Login?module=LDAP&IDToken1=userID&IDToken2=password

(如果 LDAP 是預設認證模組,可以忽略module=LDAP。)

就匿名認證而言,登入 URL 參數會是:

http://server_name.domain_name:port/amserver/UI/Login?module=Anonymous&IDToken1=anonymousUserID。

備註 –

名稱為 Login.Token0 Login.Token1 ... Login.TokenN (來自上一個版本) 的記號仍受支援,但將於未來版本中停用。建議您使用新的 IDTokenN 參數。


帳號鎖定

認證服務提供一項功能,於其中使用者將在 n 次失敗後被鎖定,無法認證。這項功能預設為關閉,但可以使用 Access Manager 主控台啟用。


備註 –

只有拋出有效密碼異常的模組可以充分利用帳號鎖定功能。


核心認證服務包含啟用和自訂此功能的屬性,包括但不限於:

電子郵件通知將被傳送到與任何帳號鎖定有關的管理員。帳號鎖定活動也會被記錄。


備註 –

當於 Microsoft® Windows 2000 作業系統上使用此功能,如需特殊指示時,請參閱「附錄 A,AMConfig.properties 檔案」中的「簡易郵件傳輸協定 (SMTP)」。


Access Manager 支援兩種帳號鎖定類型:實體鎖定與記憶體鎖定,定義於下列章節中。

實體鎖定

這是 Access Manager 的預設鎖定行為。藉由變更使用者設定檔中的 LDAP 屬性為非作用中,啟動鎖定。鎖定屬性名稱屬性定義用於鎖定作用的 LDAP 屬性。


備註 –

以別名為名稱的使用者是藉由配置 LDAP 設定檔中使用者別名清單屬性 (amUser.xml 中的 iplanet-am-user-alias-list) ,以對映至現有 LDAP 使用者設定檔的使用者。藉由新增 iplanet-am-user-alias-list 至 核心認證服務之 [別名搜尋屬性名稱] 欄位,可驗證以別名為名稱的使用者。也就是說,如果一個別名使用者被鎖定,被別名化的使用者其實際設定檔將被鎖定。這只適用於使用 LDAP 和 Membership 之外的認證模組的實體鎖定。


記憶體鎖定

登入失敗鎖定持續時間屬性的值變更為大於零,可啟用記憶體鎖定。啟用後,使用者帳號會被鎖定在記憶體中一段指定的時間 (以分鐘計)。經過該段時間後,將解除鎖定帳號。以下是使用記憶體鎖定功能時,一些特殊的考量:


備註 –

如果在使用者設定檔中設定了 Failure URL 屬性,則鎖定警告訊息和指出使用者帳號已遭鎖定的訊息都不會顯示,系統會將使用者重新導向至定義的 URL。


認證服務容錯移轉

若主伺服器因為硬體或軟體問題或伺服器暫時關機而失敗,則認證服務容錯移轉會自動將認證請求重新導向至次伺服器中。

認證內容必須先在可使用認證服務的實例上建立。如果此實例無法使用,則可透過認證錯誤修復機制在上建立認證內容。認證內容會依下列順序檢查伺服器可用性:

  1. 認證服務 URL 會傳到 AuthContext API。例如:


    AuthContext(orgName, url)

    如果使用 API,僅使用 URL 參照的伺服器。即使伺服器上可以使用該認證服務,也不會發生錯誤修復。

  2. 認證內容將檢查定義於 AMConfig.properties 檔案的 com.iplanet.am.server* 屬性中的伺服器。

  3. 如果步驟 2 失敗,則認證內容會從可取得命名服務的伺服器查詢平台清單。在共用一個實例安裝通常是為了錯誤修復的多重實例時,會自動建立此平台。

    例如,如果平台清單包含 Server1Server2Server3 的 URL,則認證內容會在 Server1Server2Server3 間循環,直到成功認證其中一個為止。

    平台清單有時不是從同一個伺服器取得,而是視「命名」服務可用性而異。另外,「命名」服務的錯誤修復可能先發生。將多重命名服務 URL 指定於 com.iplanet.am.naming.url 特性中 (在 AMConfing.properties 之中)。第一個可用的「命名」服務 URL 會用來辨識伺服器,包含將發生錯誤修復的伺服器清單 (位於其平台伺服器清單中)。

完全合格的網域名稱對映

完全合格的網域名稱 對映會啟用認證服務以便在使用者輸入錯誤的時採取修正行動 例如指定部分的主機名稱或位址存取受保護的資源。FQDN 對映是藉由修改 AMConfig.properties 檔案中的 com.sun.identity.server.fqdnMap 屬性來啟用。指定此屬性的格式為:

com.sun.identity.server.fqdnMap[invalid-name ]=valid-name

invalid-name 可以是使用者輸入的無效 FQDN 主機名稱,valid-name 則為篩選器將重新導向使用者的目標實際主機名稱。可以指定的對映數不限 (如程式碼範例 1-1 所說明的),只要它們符合明確指出的要求即可。若未設定此特性,使用者將被傳送到在 com.iplanet.am.server.host= server_name 特性中配置的預設伺服器名稱 (也可在 AMConfig.properties 檔案中找到)。


範例 7–1 AMConfig.properties 中的 FQDN 對映屬性


com.sun.identity.server.fqdnMap[isserver]=isserver.mydomain.com

com.sun.identity.server.fqdnMap[isserver.mydomain]=isserver.mydomain.com

com.sun.identity.server.fqdnMap[

            IP address]=isserver.mydomain.com





         

可能用於 FQDN 對映

此屬性可以用於建立對一個以上主機名稱的對映,在常駐於伺服器上的應用程式可被一個以上的主機名稱存取時。此特性亦可用於配置 Access Manager,不對某些 URL 採取修正動作。例如,如果使用位址存取應用程式的使用者不需要重新導向時,可藉由指定對映項目執行此功能,例如:

com.sun.identity.server.fqdnMap[IP address ]=IP address


備註 –

如果定義了一個以上的對映,請確定在無效的名稱中沒有重疊值。如果沒有這麼做,可能會導致應用程式無法存取。


永久性 Cookie

永久性 cookie 將於 Web 瀏覽器關閉後仍持續存在,可讓使用者以新的瀏覽器階段作業登入而不必重新認證。Cookie 的名稱是依據 AMConfig.properties 中的 com.iplanet.am.pcookie.name 特性定義;預設值為 DProPCookie。cookie 值是一個 3DES 加密的字串,包含 userDN、範圍名稱、認證模組名稱、最長階段作業時間、閒置時間和快取時間。

Procedure若要啟用永久性 Cookie

步驟
  1. 開啟核心認證模組中的永久性 Cookie 模式

  2. 配置核心認證模組中永久性 Cookie 最長時間屬性之時間值。

  3. 將 iPSPCookie 參數 (值為 yes) 附加到使用者介面登入 URL。

    一旦使用者使用此 URL 進行認證,若瀏覽器關閉,其可開啟一個新的瀏覽器視窗並將重新導向至主控台而不需重新認證。這項作業的運作時間為直到步驟 2 中定義的時間結束為止。

    可以使用認證方法開啟永久性模式:

    AMLoginModule.setPersistentCookieOn()

「舊有」模式的多重 LDAP 認證模組配置

做為一種容錯移轉,或當 Access Manager 主控台僅提供一個值欄位時要配置屬性的多個值,管理員可於一個範圍之下定義多重 LDAP 認證模組配置。儘管這些附加配置不會顯示在主控台中,但它們仍可在找不到用於請求使用者認證的初始搜尋時與主配置配合使用。例如,一個範圍可於兩種不同網域中透過 LDAP 伺服器為認證定義搜尋,或於一個網域中配置多重使用者命名屬性。就後者而言,在主控台中只有一個文字欄位,如果使用主要搜尋準則找不到使用者,模組將會使用次要範圍搜尋。依照下列步驟配置其他的配置。

Procedure若要新增其他的配置

步驟
  1. 撰寫一個 XML 檔案,其中包含完整屬性集和次要 (或第三) LDAP 認證配置需要的新值。

    檢視 amAuthLDAP.xml (位於 etc/opt/SUNWam/config/xml) 就可以參照可用的屬性。此 XML 檔案於此步驟中建立,然而,不像 amAuthLDAP.xml,它是以 amadmin.dtd 的結構為基礎。任何或是全部屬性都能定義給這個檔案。程式碼範例 1-2 為子配置檔案的範例,其包括 LDAP 認證配置可用的所有屬性值。


    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <!--
    
      Copyright (c) 2002 Sun Microsystems, Inc. All rights reserved.
    
      Use is subject to license terms.
    
    -->
    
    <!DOCTYPE Requests
    
        PUBLIC "-//iPlanet//Sun ONE Access Manager 6.0 Admin CLI DTD//EN"
    
        "jar://com/iplanet/am/admin/cli/amAdmin.dtd"
    
    >
    
    <!--
    
      Before adding subConfiguration load the schema with
    
    GlobalConfiguration defined and replace corresponding
    
     serviceName and subConfigID in this sample file OR load
    
     serviceConfigurationRequests.xml before loading this sample
    
    -->
    
    <Requests>
    
    <realmRequests DN="dc=iplanet,dc=com">
    
        <AddSubConfiguration subConfigName = "ssc"
    
            subConfigId = "serverconfig"
    
            priority = "0" serviceName="iPlanetAMAuthLDAPService">
    
    
    
                  <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-server"/>
    
                <Value>vbrao.red.iplanet.com:389</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-base-dn"/>
    
                <Value>dc=iplanet,dc=com</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="planet-am-auth-ldap-bind-dn"/>
    
                <Value>cn=amldapuser,ou=DSAME Users,dc=iplanet,dc=com</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-bind-passwd"/>
    
                <Value>
    
                      plain text password</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-user-naming-attribute"/>
    
                <Value>uid</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-user-search-attributes"/>
    
                <Value>uid</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-search-scope"/>
    
                <Value>SUBTREE</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-ssl-enabled"/>
    
                <Value>false</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-return-user-dn"/>
    
                <Value>true</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-auth-level"/>
    
                <Value>0</Value>
    
            </AttributeValuePair>
    
            <AttributeValuePair>
    
                <Attribute name="iplanet-am-auth-ldap-server-check"/>
    
                <Value>15</Value>
    
            </AttributeValuePair>
    
    
    
        </AddSubConfiguration>
    
    
    
    </realmRequests>
    
    </Requests>
    
    
    
    
    
                   
  2. 複製純文字密碼做為建立於步驟 1 之 XML 檔案中 iplanet-am-auth-ldap-bind-passwd 的值。

    此屬性的值於程式碼範例中以粗體顯示。

  3. 使用 amadmin 指令行工具載入 XML 檔案。


    ./amadmin -u amadmin -w administrator_password -v -t name_of_XML_file.

    請注意此次要 LDAP 配置無法使用主控台顯示或修改。


    提示 –

    這是多重 LDAP 配置可用的範例。請參閱 /AccessManager-base /SUNWam/samples/admin/cli/bulk-ops/ 中的 serviceAddMultipleLDAPConfigurationRequests .xml 指令行範本。可於 /AccesManager-base /SUNWam/samples/admin/cli/Readme.html 取得指示。


階段作業升級

認證服務可讓您根據相同使用者對單一範圍第二次執行的成功認證啟用有效的階段作業記號升級。若具有有效階段作業的使用者試圖認證到由目前範圍保護的資源,且第二次認證請求成功,階段作業會根據新認證使用新特性更新。如果認證失敗,使用者目前的階段作業會被退回,不會升級。若具有有效階段作業的使用者試圖認證到由不同範圍保護的資源,使用者將收到詢問其是否要認證到新組織的訊息。使用者在此時可以維持目前的階段作業,或嘗試對新範圍進行認證。成功的認證將導致舊階段作業被銷毀,並建立新的階段作業。

在階段作業升級期間,如果登入頁逾時,將會重新導向到原始的成功。逾時值的決定是基於:

com.iplanet.am.invalidMaxSessionTimeoutiplanet-am-max-session-time 的值應大於頁逾時值,否則階段作業升級期間的有效階段作業資訊將會遺失,而且到前一個成功 URL 的 URL 重新導向將會失敗。

驗證外掛程式介面

管理員可以撰寫適合其範圍的使用者名稱或是密碼驗證邏輯,並外掛至認證服務中。這項功能只有和認證模組支援。認證使用者或變更密碼之前,Access Manager 將呼叫此外掛程式。如果驗證成功,認證將繼續;如果失敗,將拋出認證失敗頁。外掛程式會延伸 com.iplanet.am.sdk.AMUserPasswordValidation 類別,其為「服務管理 SDK」的一部分。關於此 SDK 的資訊,可以參考 Access Manager Javadocs 中的 com.iplanet.am.sdk 套裝軟體。

Procedure若要撰寫與配置驗證外掛程式

步驟
  1. 新的外掛程式類別將延伸 com.iplanet.am.sdk. AMUserPasswordValidation 類別,並實作 validateUserID()validatePassword() 方法。如果驗證失敗,應該會拋出 AMException

  2. 編譯外掛程式並將 .class 檔案置於想要的位置中。更新類別路徑,以便在執行階段期間可由 Access Manager 存取。

  3. 以頂層管理員的身份登入 Access Manager 主控台。按一下 [服務管理] 標籤,然後到管理服務的屬性。於 UserID 與密碼驗證外掛程式類別欄位中鍵入外掛程式類別的名稱 (包括套裝軟體名稱)。

  4. 登出並登入。

JAAS 共用狀態

共用狀態提供認證模組間使用者和密碼的共用。為每個認證模組定義的選項用於:

在失敗時,模組會提示需要的憑證。在認證失敗後,模組停止執行,或是登出共用狀態清除。

啟用 JAAS 共用狀態

若要配置 JAAS 共用狀態:

失敗時,認證模組會提示需要的憑證,如同 JASS 規格中建議的 tryFirstPass 選項運作方式。

JAAS 共用狀態儲存選項

若要配置 JAAS 共用狀態儲存選項:

在確認、中斷或登出後,將清除共用狀態。