JavaTM 2 Platform
Standard Ed. 6

javax.security.sasl
介面 SaslClientFactory


public interface SaslClientFactory

用於創建 SaslClient 實例的介面。實作此介面的類別必須是執行緒安全的,並且可同時處理多個請求。它還必須具有不接受參數的公共建構子。

客戶端通常不直接存取此介面,而是使用 Sasl 靜態方法存取此介面。但是,特定的環境可以提供和安裝一個新的或不同的 SaslClientFactory

從以下版本開始:
1.5
另請參見:
SaslClient, Sasl

方法摘要
 SaslClient createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
          使用提供的參數創建 SaslClient。
 String[] getMechanismNames(Map<String,?> props)
          返回與指定的機制選擇策略相符的機制的名稱陣列。
 

方法詳細資訊

createSaslClient

SaslClient createSaslClient(String[] mechanisms,
                            String authorizationId,
                            String protocol,
                            String serverName,
                            Map<String,?> props,
                            CallbackHandler cbh)
                            throws SaslException
使用提供的參數創建 SaslClient。

參數:
mechanisms - 要試用的機制名稱的非 null 列表。每個名稱都是 SASL 機制的 IANA 註冊名。(例如 "GSSAPI"、"CRAM-MD5")。
authorizationId - 用於授權的標識,可能為 null,與協議有關。如果為 null 或空,則伺服器根據客戶端的驗證證書派生出一個授權 ID。SASL 驗證成功完成後,就允許指定的實體進行存取。
protocol - 非 null 的協議(例如 "ldap")字元串名,將為它執行驗證。
serverName - 伺服器的非 null 完全限定主機名,要對該伺服器進行驗證。
props - 可能為 null 的屬性集,用於選擇 SASL 機制並配置所選機制的驗證交換。有關標準屬性的列表,請參閱 Sasl 類別。也可包括其他可能特定於機制的屬性。忽略與所選機制無關的屬性,包括帶有非字元串鍵的所有映射條目。
cbh - SASL 機制使用的回調處理程序(可能為 null),以便為完成驗證而從應用程序/資源庫獲得更多的資訊。例如,SASL 機制可能需要從調用者獲得驗證 ID、密碼和領域。使用 NameCallback 來請求驗證 ID。使用 PasswordCallback 來請求密碼。如果要從領域列表中選擇,則使用 RealmChoiceCallback 來請求領域,如果必須輸入領域,則使用 RealmCallback 來請求領域。
返回:
使用所提供參數創建的 SaslClient,可能為 null。如果為 null,則此處理器無法使用所提供的參數產生 SaslClient
拋出:
SaslException - 如果因為錯誤而無法創建 SaslClient

getMechanismNames

String[] getMechanismNames(Map<String,?> props)
返回與指定的機制選擇策略相符的機制的名稱陣列。

參數:
props - 可能為 null 的屬性集,用於指定 SASL 機制的安全策略。例如,如果 props 套件含值為 "true" 的屬性 Sasl.POLICY_NOPLAINTEXT,則該處理器必須不返回任何易於受到簡單被動式攻擊危害的 SASL 機制。有關策略屬性的完整列表,請參閱 Sasl 類別。如果 props 中有與策略無關的屬性則忽略該屬性,包括帶有非字元串鍵的所有映射條目。
返回:
非 null 的陣列,包含 IANA 註冊的 SASL 機制名。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only