uTools-Manuals/docs/java/javax/security/sasl/SaslClientFactory.html

168 lines
9.3 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.security.sasl
</div>
<h2 class="title" title="Interface SaslClientFactory">Interface SaslClientFactory</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public interface <span class="typeNameLabel">SaslClientFactory</span></pre>
<div class="block">
<span>用于创建SaslClient实例的<code>SaslClient</code></span>
<span>实现此接口的类必须是线程安全的并且可以处理多个同时发送的请求。</span>
<span>它也必须有一个不接受参数的公共构造函数。</span>
<p> <span>该接口通常不被客户端直接访问,这将使用<code>Sasl</code>静态方法。</span> <span>但是,特定环境可能会提供并安装新的或不同的<code>SaslClientFactory</code></span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/security/sasl/SaslClient.html" title="javax.security.sasl中的接口"><code>SaslClient</code></a> <a href="../../../javax/security/sasl/Sasl.html" title="javax.security.sasl中的类"><code>Sasl</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../../javax/security/sasl/SaslClient.html" title="interface in javax.security.sasl">SaslClient</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/sasl/SaslClientFactory.html#createSaslClient-java.lang.String:A-java.lang.String-java.lang.String-java.lang.String-java.util.Map-javax.security.auth.callback.CallbackHandler-">createSaslClient</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] mechanisms, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> authorizationId, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> serverName, <a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?&gt; props, <a href="../../../javax/security/auth/callback/CallbackHandler.html" title="interface in javax.security.auth.callback">CallbackHandler</a> cbh)</code>
<div class="block">
使用提供的参数创建SaslClient。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/sasl/SaslClientFactory.html#getMechanismNames-java.util.Map-">getMechanismNames</a></span>(<a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?&gt; props)</code>
<div class="block">
返回与指定的机制选择策略匹配的机制名称数组。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="createSaslClient-java.lang.String:A-java.lang.String-java.lang.String-java.lang.String-java.util.Map-javax.security.auth.callback.CallbackHandler-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createSaslClient</h4> <pre><a href="../../../javax/security/sasl/SaslClient.html" title="interface in javax.security.sasl">SaslClient</a> createSaslClient(<a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] mechanisms,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> authorizationId,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> serverName,
<a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?&gt; props,
<a href="../../../javax/security/auth/callback/CallbackHandler.html" title="interface in javax.security.auth.callback">CallbackHandler</a> cbh)
throws <a href="../../../javax/security/sasl/SaslException.html" title="class in javax.security.sasl">SaslException</a></pre>
<div class="block">
使用提供的参数创建SaslClient。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>mechanisms</code> - 要尝试的机制名称的非空列表。</span>
<span>每个都是SASA机制的IANA注册名称。</span>
<span>例如“GSSAPI”“CRAM-MD5”</span>
</dd>
<dd>
<span><code>authorizationId</code> - 用于授权的可能无效的协议相关标识。</span>
<span>如果为空或为空,则服务器从客户端的身份验证凭据中导出授权标识。</span>
<span>当SASL认证成功完成时指定的实体被授予访问权限。</span>
</dd>
<dd>
<code>protocol</code> - 正在执行身份验证的协议的非空字符串名称例如“ldap”
</dd>
<dd>
<code>serverName</code> - 要验证的服务器的非空的全限定主机名。
</dd>
<dd>
<span><code>props</code> - 用于选择SASL机制并配置所选机制的认证交换的可能的空属性集。</span>
<span>有关标准属性的列表,请参阅<code>Sasl</code>类。</span>
<span>可以包括其他可能机制特定的属性。</span>
<span>与所选机制无关的属性将被忽略包括具有非String键的任何地图条目。</span>
</dd>
<dd>
<span><code>cbh</code> - SASL机制使用的可能的空回调处理程序以从应用程序/库获取进一步的信息来完成身份验证。</span>
<span>例如SASL机制可能需要来自呼叫者的身份验证ID密码和领域。</span>
<span>认证ID是通过使用所请求的<code>NameCallback</code></span>
<span>使用<code>PasswordCallback</code>密码。</span>
<span>该领域是通过使用要求<code>RealmChoiceCallback</code> ,如果有选择,领域列表,并通过使用<code>RealmCallback</code>如果必须输入领域。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>可能null <code>SaslClient</code>使用提供的<code>SaslClient</code>创建。</span>
<span>如果为null则此工厂无法生产<code>SaslClient</code>使用提供的参数。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/security/sasl/SaslException.html" title="class in javax.security.sasl">SaslException</a></code> - 如果由于错误而无法创建
<code>SaslClient</code>
</dd>
</dl> </li>
</ul> <a name="getMechanismNames-java.util.Map-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getMechanismNames</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] getMechanismNames(<a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?&gt; props)</pre>
<div class="block">
返回与指定的机制选择策略匹配的机制名称数组。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>props</code> - 可用的一组属性用于指定SASL机制的安全策略。</span>
<span>例如,如果<code>props</code>包含值为<code>"true"</code><code>Sasl.POLICY_NOPLAINTEXT</code>属性则工厂不得返回任何容易受到简单的被动攻击的SASL机制。</span>
<span>有关策略属性的完整列表,请参阅<code>Sasl</code>类。</span>
<span>非政策相关属性(如果存在于<code>props</code> 将被忽略包括具有非String键的任何映射条目。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
包含IANA注册的SASL机制名称的非空数组。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>