346 lines
16 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.auth.kerberos
</div>
<h2 class="title" title="Class ServicePermission">Class ServicePermission</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../java/security/Permission.html" title="class in java.security">java.security.Permission</a></li>
<li>
<ul class="inheritance">
<li>javax.security.auth.kerberos.ServicePermission</li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../../java/io/Serializable.html" title="java.io中的接口">Serializable</a> <a href="../../../../java/security/Guard.html" title="java.security中的接口">Guard</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public final class <span class="typeNameLabel">ServicePermission</span>
extends <a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a>
implements <a href="../../../../java/io/Serializable.html" title="interface in java.io">Serializable</a></pre>
<div class="block">
<span>此类用于保护Kerberos服务和访问这些服务所必需的凭据。</span>
<span>服务主体和访问服务所必需的凭据有一对一的映射。</span>
<span>因此,授予对服务主体的访问权隐含地授予对与服务主体建立安全上下文所必需的凭证的访问。</span>
<span>无论凭据是在缓存中还是通过与KDC的交换获取这都适用。</span>
<span>凭证可以是从钥匙表中获得票证,服务票或秘密密钥。</span>
<p> <span>ServicePermission包含一个服务主体名称和一个操作列表该列表指定凭证可以在其中使用的上下文。</span> </p>
<p> <span>服务主体名是的规范名称<code>KereberosPrincipal</code>供应服务即KerberosPrincipal表示Kerberos服务主体。</span> <span>该名称以区分大小写的方式处理。</span> <span>本身可能出现星号,表示任何服务主体。</span> </p>
<p> <span>授予此权限意味着呼叫者可以在动作指定的上下文中使用缓存凭据TGT服务票或秘密密钥</span> <span>在TGT的情况下授予该权限也意味着可以通过认证服务交换获得TGT。</span> </p>
<p> <span>可能的行动是:</span> </p>
<pre> <span>initiate - allow the caller to use the credential to
initiate a security context with a service
principal.
accept - allow the caller to use the credential to
accept security context as a particular
principal.</span> </pre>
<span>例如要指定访问TGT以启动安全上下文的权限则权限的构建如下</span>
<pre> <span>ServicePermission("krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate");</span> </pre>
<p> <span>要获得使用“主机”服务启动上下文的服务票据,该权限的构造如下:</span> </p>
<pre> <span>ServicePermission("host/foo.example.com@EXAMPLE.COM", "initiate");</span> </pre>
<p> <span>对于Kerberized服务器该操作是“accept”。</span> <span>例如访问和使用Kerberized“主机”服务telnet等的密钥所需的权限将被构建如下</span> </p>
<pre> <span>ServicePermission("host/foo.example.com@EXAMPLE.COM", "accept");</span> </pre>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../serialized-form.html#javax.security.auth.kerberos.ServicePermission">Serialized Form</a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../javax/security/auth/kerberos/ServicePermission.html#ServicePermission-java.lang.String-java.lang.String-">ServicePermission</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> servicePrincipal, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> action)</code>
<div class="block">
创建一个新的
<code>ServicePermission</code>与指定的
<code>servicePrincipal</code>
<code>action</code>
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== 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="t4"><span><a href="javascript:show(8);">具体的方法</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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/security/auth/kerberos/ServicePermission.html#equals-java.lang.Object-">equals</a></span>(<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> obj)</code>
<div class="block">
检查两个ServicePermission对象是否相等。
</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/auth/kerberos/ServicePermission.html#getActions--">getActions</a></span>()</code>
<div class="block">
返回动作的规范字符串表示形式。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/security/auth/kerberos/ServicePermission.html#hashCode--">hashCode</a></span>()</code>
<div class="block">
返回此对象的哈希码值。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/security/auth/kerberos/ServicePermission.html#implies-java.security.Permission-">implies</a></span>(<a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a> p)</code>
<div class="block">
检查此Kerberos服务权限对象是否“暗示”指定的权限。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../../java/security/PermissionCollection.html" title="class in java.security">PermissionCollection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/security/auth/kerberos/ServicePermission.html#newPermissionCollection--">newPermissionCollection</a></span>()</code>
<div class="block">
返回一个用于存储ServicePermission对象的PermissionCollection对象。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.security.Permission">
<!-- --> </a> <h3>Methods inherited from class java.security.<a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a></h3> <code><a href="../../../../java/security/Permission.html#checkGuard-java.lang.Object-">checkGuard</a>, <a href="../../../../java/security/Permission.html#getName--">getName</a>, <a href="../../../../java/security/Permission.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="ServicePermission-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ServicePermission</h4> <pre>public ServicePermission(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> servicePrincipal,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> action)</pre>
<div class="block">
创建一个新的
<code>ServicePermission</code>与指定的
<code>servicePrincipal</code>
<code>action</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>servicePrincipal</code> - 服务主体的名称。</span>
<span>本身可能出现星号,表示任何服务主体。</span>
<p></p>
</dd>
<dd>
<code>action</code> - 动作字符串
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="implies-java.security.Permission-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>implies</h4> <pre>public boolean implies(<a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a> p)</pre>
<div class="block">
<span>检查此Kerberos服务权限对象是否“暗示”指定的权限。</span>
<p> <span>如果上述都没有, <code>implies</code>返回false。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../java/security/Permission.html#implies-java.security.Permission-">implies</a></code>在类别
<code><a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>p</code> - 允许检查。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果此对象隐含指定的权限则为true否则为false。
</dd>
</dl> </li>
</ul> <a name="equals-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>equals</h4> <pre>public boolean equals(<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> obj)</pre>
<div class="block">
检查两个ServicePermission对象是否相等。
<p></p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../java/security/Permission.html#equals-java.lang.Object-">equals</a></code>在类别
<code><a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>obj</code> - 要测试与此对象相等的对象。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果
<i>obj</i>是ServicePermission并且具有相同的服务主体以及作为ServicePermission对象的操作则为true。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../../java/lang/Object.html#hashCode--"><code>Object.hashCode()</code></a> <a href="../../../../java/util/HashMap.html" title="java.util中的类"><code>HashMap</code></a></span>
</dd>
</dl> </li>
</ul> <a name="hashCode--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>hashCode</h4> <pre>public int hashCode()</pre>
<div class="block">
返回此对象的哈希码值。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../java/security/Permission.html#hashCode--">hashCode</a></code>在类别
<code><a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该对象的哈希码值。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../java/lang/Object.html#equals-java.lang.Object-"><code>Object.equals(java.lang.Object)</code></a>
<a href="../../../../java/lang/System.html#identityHashCode-java.lang.Object-"><code>System.identityHashCode(java.lang.Object)</code></a>
</dd>
</dl> </li>
</ul> <a name="getActions--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getActions</h4> <pre>public <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getActions()</pre>
<div class="block">
<span>返回动作的规范字符串表示形式。</span>
<span>始终以以下顺序返回当前操作:启动,接受。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../java/security/Permission.html#getActions--">getActions</a></code>在类别
<code><a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
这个权限的动作。
</dd>
</dl> </li>
</ul> <a name="newPermissionCollection--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>newPermissionCollection</h4> <pre>public <a href="../../../../java/security/PermissionCollection.html" title="class in java.security">PermissionCollection</a> newPermissionCollection()</pre>
<div class="block">
<span>返回一个用于存储ServicePermission对象的PermissionCollection对象。</span>
<br/>
<span>必须以允许以任何顺序将它们插入到集合中的方式来存储ServicePermission对象但这也允许以有效一致的方式实现PermissionCollection implicit方法。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../../java/security/Permission.html#newPermissionCollection--">newPermissionCollection</a></code>在类别
<code><a href="../../../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
适用于存储ServicePermissions的新PermissionCollection对象。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>