mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-07 01:42:48 +08:00
941 lines
46 KiB
HTML
941 lines
46 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact1, compact2, compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.security.auth
|
||
</div>
|
||
<h2 class="title" title="Class Subject">Class Subject</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>javax.security.auth.Subject</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></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public final class <span class="typeNameLabel">Subject</span>
|
||
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>
|
||
implements <a href="../../../java/io/Serializable.html" title="interface in java.io">Serializable</a></pre>
|
||
<div class="block">
|
||
<p> <span>A <code>Subject</code>表示单个实体(例如人)的相关信息的分组。</span> <span>此类信息包括主题的身份以及其与安全性相关的属性(例如密码和加密密钥)。</span> </p>
|
||
<p> <span>受试者可能具有多个身份。</span> <span>每个身份在<code>Principal</code>内表示为<code>Subject</code> 。</span> <span>校长简单地将名称绑定到一个<code>Subject</code> 。</span> <span>例如, <code>Subject</code>这恰好是一个人,爱丽丝,可能有两个主体:一个结合“爱丽丝吧”,她的驾驶执照的名称,到<code>Subject</code> ,另有结合,“999-99-9999” ,她的学生身份证号码,到了<code>Subject</code> 。</span> <span>两个校长都参考同一个<code>Subject</code>即使每个都有不同的名称。</span> </p>
|
||
<p> <span>A <code>Subject</code>还可以拥有被称为凭证的与安全性有关的属性。</span> <span>需要特殊保护的敏感凭证(如私人加密密钥)存储在私人凭据<code>Set</code> 。</span> <span>用于共享的凭据,例如公开密钥证书或Kerberos服务器凭证将存储在公共证书<code>Set</code> 。</span> <span>需要不同的权限来访问和修改不同的凭据集。</span> </p>
|
||
<p> <span>要检索与Subject相关联的所有<code>Subject</code> ,请调用<code>getPrincipals</code>方法。</span> <span>要检索所有属于公共或私有证书<code>Subject</code> ,调用<code>getPublicCredentials</code>方法或<code>getPrivateCredentials</code>方法,分别。</span> <span>修改返回<code>Set</code> Principal和证书,请使用定义的方法<code>Set</code>类。</span> <span>例如:</span> </p>
|
||
<pre> <span>Subject subject;
|
||
Principal principal;
|
||
Object credential;
|
||
|
||
// add a Principal and credential to the Subject
|
||
subject.getPrincipals().add(principal);
|
||
subject.getPublicCredentials().add(credential);</span> </pre>
|
||
<p> <span>这个<code>Subject</code>类实现了<code>Serializable</code> 。</span> <span>虽然与Subject相关联的<code>Subject</code>被序列化,但是与Subject相关联的<code>Subject</code>不是。</span> <span>请注意, <code>java.security.Principal</code>类不实现<code>Serializable</code> 。</span> <span>因此,与主题相关联的所有具体的<code>Principal</code>实现必须实现<code>Serializable</code> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../java/security/Principal.html" title="java.security中的接口"><code>Principal</code></a> , <a href="../../../java/security/DomainCombiner.html" title="java.security中的接口"><code>DomainCombiner</code></a> , <a href="../../../serialized-form.html#javax.security.auth.Subject">Serialized Form</a></span>
|
||
</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/Subject.html#Subject--">Subject</a></span>()</code>
|
||
<div class="block">
|
||
创建一个
|
||
<code>Subject</code>一个实例,其中包含一个空的
|
||
<code>Set</code>的主体和空的公共和私有凭据集。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#Subject-boolean-java.util.Set-java.util.Set-java.util.Set-">Subject</a></span>(boolean readOnly, <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><? extends <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a>> principals, <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><?> pubCredentials, <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><?> privCredentials)</code>
|
||
<div class="block">
|
||
使用Principals和凭据创建一个
|
||
<code>Subject</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="t1"><span><a href="javascript:show(1);">静态方法</a></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>static <T> T</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#doAs-javax.security.auth.Subject-java.security.PrivilegedAction-">doAs</a></span>(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject, <a href="../../../java/security/PrivilegedAction.html" title="interface in java.security">PrivilegedAction</a><T> action)</code>
|
||
<div class="block">
|
||
执行工作,特别是
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>static <T> T</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#doAs-javax.security.auth.Subject-java.security.PrivilegedExceptionAction-">doAs</a></span>(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject, <a href="../../../java/security/PrivilegedExceptionAction.html" title="interface in java.security">PrivilegedExceptionAction</a><T> action)</code>
|
||
<div class="block">
|
||
执行工作,特别是
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>static <T> T</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#doAsPrivileged-javax.security.auth.Subject-java.security.PrivilegedAction-java.security.AccessControlContext-">doAsPrivileged</a></span>(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject, <a href="../../../java/security/PrivilegedAction.html" title="interface in java.security">PrivilegedAction</a><T> action, <a href="../../../java/security/AccessControlContext.html" title="class in java.security">AccessControlContext</a> acc)</code>
|
||
<div class="block">
|
||
执行特权工作,特别是
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>static <T> T</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#doAsPrivileged-javax.security.auth.Subject-java.security.PrivilegedExceptionAction-java.security.AccessControlContext-">doAsPrivileged</a></span>(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject, <a href="../../../java/security/PrivilegedExceptionAction.html" title="interface in java.security">PrivilegedExceptionAction</a><T> action, <a href="../../../java/security/AccessControlContext.html" title="class in java.security">AccessControlContext</a> acc)</code>
|
||
<div class="block">
|
||
执行特权工作,特别是
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code>boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#equals-java.lang.Object-">equals</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> o)</code>
|
||
<div class="block">
|
||
将指定的对象与此
|
||
<code>Subject</code>进行比较以获得相等性。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code><a href="../../../java/util/Set.html" title="interface in java.util">Set</a><<a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a>></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#getPrincipals--">getPrincipals</a></span>()</code>
|
||
<div class="block">
|
||
返回与此
|
||
<code>Subject</code>相关
|
||
<code>Set</code>的校长的
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<td class="colFirst"><code><T extends <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a>><br/><a href="../../../java/util/Set.html" title="interface in java.util">Set</a><T></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#getPrincipals-java.lang.Class-">getPrincipals</a></span>(<a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> c)</code>
|
||
<div class="block">
|
||
返回
|
||
<code>Set</code>与此关联的Principal
|
||
<code>Subject</code>是实例或指定的子类
|
||
<code>类</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<td class="colFirst"><code><a href="../../../java/util/Set.html" title="interface in java.util">Set</a><<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#getPrivateCredentials--">getPrivateCredentials</a></span>()</code>
|
||
<div class="block">
|
||
返回此
|
||
<code>Set</code>的私人证书的
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i8">
|
||
<td class="colFirst"><code><T> <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><T></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#getPrivateCredentials-java.lang.Class-">getPrivateCredentials</a></span>(<a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> c)</code>
|
||
<div class="block">
|
||
返回与此
|
||
<code>Subject</code>相关
|
||
<code>Set</code>的私有凭据的Set,它们是指定的Class的实例或子
|
||
<code>类</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i9">
|
||
<td class="colFirst"><code><a href="../../../java/util/Set.html" title="interface in java.util">Set</a><<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#getPublicCredentials--">getPublicCredentials</a></span>()</code>
|
||
<div class="block">
|
||
返回这个
|
||
<code>Set</code>的公共证书的
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i10">
|
||
<td class="colFirst"><code><T> <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><T></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#getPublicCredentials-java.lang.Class-">getPublicCredentials</a></span>(<a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> c)</code>
|
||
<div class="block">
|
||
返回与此
|
||
<code>Subject</code>相关
|
||
<code>Set</code>的公共凭证的Set,它们是指定的Class的实例或子
|
||
<code>类</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i11">
|
||
<td class="colFirst"><code>static <a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#getSubject-java.security.AccessControlContext-">getSubject</a></span>(<a href="../../../java/security/AccessControlContext.html" title="class in java.security">AccessControlContext</a> acc)</code>
|
||
<div class="block">
|
||
获取
|
||
<code>Subject</code>与所提供的相关
|
||
<code>AccessControlContext</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i12">
|
||
<td class="colFirst"><code>int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#hashCode--">hashCode</a></span>()</code>
|
||
<div class="block">
|
||
返回此
|
||
<code>Subject</code>的哈希码。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i13">
|
||
<td class="colFirst"><code>boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#isReadOnly--">isReadOnly</a></span>()</code>
|
||
<div class="block">
|
||
查询此
|
||
<code>Subject</code>是否为只读。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i14">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/security/auth/Subject.html#setReadOnly--">setReadOnly</a></span>()</code>
|
||
<div class="block">
|
||
将此
|
||
<code>Subject</code>设置为只读。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i15">
|
||
<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/Subject.html#toString--">toString</a></span>()</code>
|
||
<div class="block">
|
||
返回此
|
||
<code>Subject</code>的String
|
||
<code>Subject</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<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="Subject--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>Subject</h4> <pre>public Subject()</pre>
|
||
<div class="block">
|
||
<span>创建一个<code>Subject</code>一个实例,一个空的<code>Set</code>的主体和空的公共和私人凭据集。</span>
|
||
<p> <span>新建的集合检查此<code>Subject</code>是否已被设置为只读,然后才允许后续修改。</span> <span>新创建的集合还通过确保呼叫者具有足够的权限来防止非法修改。</span> </p>
|
||
<p> <span>要修改校长集,主叫方必须有<code>AuthPermission("modifyPrincipals")</code> 。</span> <span>要修改公用证书集,呼叫者必须有<code>AuthPermission("modifyPublicCredentials")</code> 。</span> <span>要修改私人凭据集,呼叫者必须有<code>AuthPermission("modifyPrivateCredentials")</code> 。</span> </p>
|
||
</div> </li>
|
||
</ul> <a name="Subject-boolean-java.util.Set-java.util.Set-java.util.Set-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>Subject</h4> <pre>public Subject(boolean readOnly,
|
||
<a href="../../../java/util/Set.html" title="interface in java.util">Set</a><? extends <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a>> principals,
|
||
<a href="../../../java/util/Set.html" title="interface in java.util">Set</a><?> pubCredentials,
|
||
<a href="../../../java/util/Set.html" title="interface in java.util">Set</a><?> privCredentials)</pre>
|
||
<div class="block">
|
||
<span>使用主体和凭据创建一个<code>Subject</code>的实例。</span>
|
||
<p> <span>来自指定集的主体和凭据将复制到新构造的集合中。</span> <span>这些新创建的集合在允许后续修改之前检查此<code>Subject</code>是否已设置为只读。</span> <span>新创建的集合还通过确保呼叫者具有足够的权限来防止非法修改。</span> </p>
|
||
<p> <span>要修改Principals Set,主叫方必须具有<code>AuthPermission("modifyPrincipals")</code> 。</span> <span>要修改公用凭证集,呼叫者必须有<code>AuthPermission("modifyPublicCredentials")</code> 。</span> <span>要修改私人凭证集,主叫方必须具有<code>AuthPermission("modifyPrivateCredentials")</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>readOnly</code> - 如果
|
||
<code>Subject</code>为只读,则为true,否则为false。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>principals</code> -在
|
||
<code>Set</code>校长与此相关
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>pubCredentials</code> - 与此
|
||
<code>Subject</code>相关
|
||
<code>Set</code>的公共凭证的
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>privCredentials</code> - 与此
|
||
<code>Subject</code>相关
|
||
<code>Set</code>的私人凭据的
|
||
<code>Subject</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> -如果指定的
|
||
<code>principals</code> ,
|
||
<code>pubCredentials</code> ,或
|
||
<code>privCredentials</code>是
|
||
<code>null</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="setReadOnly--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>setReadOnly</h4> <pre>public void setReadOnly()</pre>
|
||
<div class="block">
|
||
<span>将此<code>Subject</code>设置为只读。</span>
|
||
<p> <span>此主题的修改(添加和删除) <code>Principal</code> <code>Set</code>和凭证集将被禁止。</span> <span>该<code>destroy</code>在这个问题上的凭据操作仍将被允许。</span> </p>
|
||
<p> <span>随后尝试修改主题的<code>Principal</code>和凭据集将导致<code>IllegalStateException</code>被抛出。</span> <span>另外,一旦<code>Subject</code>是只读,就不能重新设置为可写。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果来电者没有权限将此
|
||
<code>Subject</code>设置为只读。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="isReadOnly--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>isReadOnly</h4> <pre>public boolean isReadOnly()</pre>
|
||
<div class="block">
|
||
查询此
|
||
<code>Subject</code>是否为只读。
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
如果这个
|
||
<code>Subject</code>是只读的,则为true,否则为false。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getSubject-java.security.AccessControlContext-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getSubject</h4> <pre>public static <a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> getSubject(<a href="../../../java/security/AccessControlContext.html" title="class in java.security">AccessControlContext</a> acc)</pre>
|
||
<div class="block">
|
||
<span>获取与提供的<code>Subject</code>相关联的<code>AccessControlContext</code> 。</span>
|
||
<p> <span><code>AccessControlContext</code>可能包含许多主题(来自嵌套的<code>doAs</code>调用)。</span> <span>在这种情况下,最近<code>Subject</code>与相关<code>AccessControlContext</code>返回。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>acc</code> -
|
||
<code>AccessControlContext</code>从中检索
|
||
<code>Subject</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
所述
|
||
<code>Subject</code>与所提供的相关联的
|
||
<code>AccessControlContext</code> ,或
|
||
<code>null</code>如果没有
|
||
<code>Subject</code>与提供相关的
|
||
<code>AccessControlContext</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果来电者没有获得Subject的
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果提供的
|
||
<code>AccessControlContext</code>是
|
||
<code>null</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="doAs-javax.security.auth.Subject-java.security.PrivilegedAction-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>doAs</h4> <pre>public static <T> T doAs(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject,
|
||
<a href="../../../java/security/PrivilegedAction.html" title="interface in java.security">PrivilegedAction</a><T> action)</pre>
|
||
<div class="block">
|
||
<span>执行工作,特别是<code>Subject</code> 。</span>
|
||
<p> <span>该方法首先在当前线程的检索<code>AccessControlContext</code>经由<code>AccessController.getContext</code> ,然后实例化一个新<code>AccessControlContext</code>使用检索到的上下文与新的沿<code>SubjectDomainCombiner</code> (构建使用提供<code>Subject</code> )。</span> <span>最后,此方法调用<code>AccessController.doPrivileged</code> ,传递给它提供的<code>PrivilegedAction</code>以及新构建的<code>AccessControlContext</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<code>T</code> - 由PrivilegedAction的
|
||
<code>run</code>方法返回的值的类型。
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>subject</code> -在<code>Subject</code>指定的<code>action</code>会运行。</span>
|
||
<span>此参数可能为<code>null</code> 。</span>
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>action</code> - 要运行的代码为指定的
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
PrivilegedAction的
|
||
<code>run</code>方法返回的值。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>PrivilegedAction</code>是
|
||
<code>null</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果调用者没有权限调用此方法。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="doAs-javax.security.auth.Subject-java.security.PrivilegedExceptionAction-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>doAs</h4> <pre>public static <T> T doAs(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject,
|
||
<a href="../../../java/security/PrivilegedExceptionAction.html" title="interface in java.security">PrivilegedExceptionAction</a><T> action)
|
||
throws <a href="../../../java/security/PrivilegedActionException.html" title="class in java.security">PrivilegedActionException</a></pre>
|
||
<div class="block">
|
||
<span>执行工作,特别是<code>Subject</code> 。</span>
|
||
<p> <span>该方法首先在当前线程的检索<code>AccessControlContext</code>经由<code>AccessController.getContext</code> ,然后实例化一个新<code>AccessControlContext</code>使用检索到的上下文与新的沿<code>SubjectDomainCombiner</code> (构建使用提供<code>Subject</code> )。</span> <span>最后,这个方法调用了<code>AccessController.doPrivileged</code> ,通过它提供了<code>PrivilegedExceptionAction</code> ,以及新构建的<code>AccessControlContext</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<code>T</code> - 由PrivilegedExceptionAction的
|
||
<code>run</code>方法返回的值的类型。
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>subject</code> - <code>Subject</code>指定的<code>action</code>将运行。</span>
|
||
<span>此参数可能为<code>null</code> 。</span>
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>action</code> - 要运行的代码为指定的
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
由PrivilegedExceptionAction的
|
||
<code>run</code>方法返回的值。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/security/PrivilegedActionException.html" title="class in java.security">PrivilegedActionException</a></code> - 如果
|
||
<code>PrivilegedExceptionAction.run</code>方法抛出一个检查异常。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果指定的
|
||
<code>PrivilegedExceptionAction</code>是
|
||
<code>null</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果调用者没有权限调用此方法。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="doAsPrivileged-javax.security.auth.Subject-java.security.PrivilegedAction-java.security.AccessControlContext-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>doAsPrivileged</h4> <pre>public static <T> T doAsPrivileged(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject,
|
||
<a href="../../../java/security/PrivilegedAction.html" title="interface in java.security">PrivilegedAction</a><T> action,
|
||
<a href="../../../java/security/AccessControlContext.html" title="class in java.security">AccessControlContext</a> acc)</pre>
|
||
<div class="block">
|
||
<span>作为一个特定的<code>Subject</code>执行特权工作。</span>
|
||
<p> <span>此方法的行为与<code>Subject.doAs</code> ,除了使用提供的<code>AccessControlContext</code> ,而不是检索当前Thread的<code>AccessControlContext</code> 。</span> <span>如果提供的<code>AccessControlContext</code>是<code>null</code> ,则此方法将实例化一个新的<code>AccessControlContext</code> ,其中包含一个空集合的ProtectionDomains。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<code>T</code> - PrivilegedAction的
|
||
<code>run</code>方法返回的值的类型。
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>subject</code> - <code>Subject</code>指定的<code>action</code>将作为运行。</span>
|
||
<span>该参数可以是<code>null</code> 。</span>
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>action</code> - 要运行的代码为指定的
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>acc</code> -
|
||
<code>AccessControlContext</code>被绑定到指定的
|
||
<i>主题</i>和
|
||
<i>动作</i> 。
|
||
<p></p>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
PrivilegedAction的
|
||
<code>run</code>方法返回的值。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>PrivilegedAction</code>是
|
||
<code>null</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果调用者没有权限调用此方法。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="doAsPrivileged-javax.security.auth.Subject-java.security.PrivilegedExceptionAction-java.security.AccessControlContext-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>doAsPrivileged</h4> <pre>public static <T> T doAsPrivileged(<a href="../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject,
|
||
<a href="../../../java/security/PrivilegedExceptionAction.html" title="interface in java.security">PrivilegedExceptionAction</a><T> action,
|
||
<a href="../../../java/security/AccessControlContext.html" title="class in java.security">AccessControlContext</a> acc)
|
||
throws <a href="../../../java/security/PrivilegedActionException.html" title="class in java.security">PrivilegedActionException</a></pre>
|
||
<div class="block">
|
||
<span>执行特权工作,特别是<code>Subject</code> 。</span>
|
||
<p> <span>此方法的行为与<code>Subject.doAs</code> ,不同之处在于它不使用当前的线程<code>AccessControlContext</code> ,而是使用提供的<code>AccessControlContext</code> 。</span> <span>如果提供的<code>AccessControlContext</code>是<code>null</code> ,则此方法将实例化一个新的<code>AccessControlContext</code> ,其中包含一个空集合的ProtectionDomains。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<code>T</code> - 由PrivilegedExceptionAction的
|
||
<code>run</code>方法返回的值的类型。
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>subject</code> -在<code>Subject</code>指定的<code>action</code>会运行。</span>
|
||
<span>此参数可能为<code>null</code> 。</span>
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>action</code> - 要运行的代码为指定的
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code>acc</code> -
|
||
<code>AccessControlContext</code>被绑定到指定的
|
||
<i>主题</i>和
|
||
<i>动作</i> 。
|
||
<p></p>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
由PrivilegedExceptionAction的
|
||
<code>run</code>方法返回的值。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/security/PrivilegedActionException.html" title="class in java.security">PrivilegedActionException</a></code> - 如果
|
||
<code>PrivilegedExceptionAction.run</code>方法抛出一个被检查的异常。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果指定的
|
||
<code>PrivilegedExceptionAction</code>是
|
||
<code>null</code> 。
|
||
<p></p>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果调用者没有权限调用此方法。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getPrincipals--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getPrincipals</h4> <pre>public <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><<a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a>> getPrincipals()</pre>
|
||
<div class="block">
|
||
<span>返回与此<code>Subject</code>相关<code>Set</code>的校长的<code>Subject</code> 。</span>
|
||
<span>每个<code>Principal</code>代表这个<code>Subject</code>的身份。</span>
|
||
<p> <span>返回的<code>Set</code>由本主题的内部<code>Principal</code> <code>Set</code> 。</span> <span>返回的<code>Set</code>任何修改<code>Set</code>影响内部<code>Principal</code> <code>Set</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
该
|
||
<code>Set</code>与此相关的校长
|
||
<code>Subject</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getPrincipals-java.lang.Class-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getPrincipals</h4> <pre>public <T extends <a href="../../../java/security/Principal.html" title="interface in java.security">Principal</a>> <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><T> getPrincipals(<a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> c)</pre>
|
||
<div class="block">
|
||
<span>返回与此<code>Subject</code>相关<code>Set</code>的主题的Set,它们是指定的Class的实例或子<code>类</code> 。</span>
|
||
<p> <span>返回的<code>Set</code>不受此主题内部的<code>Principal</code> <code>Set</code> 。</span> <span>新<code>Set</code>创建并返回每个方法调用。</span> <span>对返回的<code>Set</code>不会影响内部<code>Principal</code> <code>Set</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<code>T</code> - 类别由
|
||
<code>c</code>建模
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>c</code> - 返回的
|
||
<code>Set</code> Set将全部是这个类的实例。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>Set</code>的主体是指定的Class的
|
||
<code>类</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果指定的
|
||
<code>类</code>是
|
||
<code>null</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getPublicCredentials--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getPublicCredentials</h4> <pre>public <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>> getPublicCredentials()</pre>
|
||
<div class="block">
|
||
<span>返回此<code>Set</code>的公开证书的<code>Subject</code> 。</span>
|
||
<p> <span>返回的<code>Set</code>由本主题的内部公开证书<code>Set</code> 。</span> <span>返回的<code>Set</code>任何修改<code>Set</code>影响内部公众证书<code>Set</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
A
|
||
<code>Set</code>由本
|
||
<code>Subject</code>持有的公共
|
||
<code>Subject</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getPrivateCredentials--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getPrivateCredentials</h4> <pre>public <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>> getPrivateCredentials()</pre>
|
||
<div class="block">
|
||
<span>返回此<code>Set</code>私人凭证的<code>Subject</code> 。</span>
|
||
<p> <span>返回的<code>Set</code>由本主题的内部私人凭证<code>Set</code> 。</span> <span>返回的<code>Set</code>任何修改<code>Set</code>影响内部私人凭证<code>Set</code> 。</span> </p>
|
||
<p> <span>呼叫者需要访问返回的Set中的<code>Set</code> ,或修改<code>Set</code>本身。</span> <span>一个<code>SecurityException</code>如果调用者没有适当的权限被抛出。</span> </p>
|
||
<p> <span>在遍历了<code>Set</code> ,一个<code>SecurityException</code>如果调用者没有权限访问特定凭证被抛出。</span> <span>该<code>Iterator</code>仍然被推进到下一个元素在<code>Set</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
A
|
||
<code>Set</code>由该
|
||
<code>Subject</code>持有的私人
|
||
<code>Subject</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getPublicCredentials-java.lang.Class-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getPublicCredentials</h4> <pre>public <T> <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><T> getPublicCredentials(<a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> c)</pre>
|
||
<div class="block">
|
||
<span>返回与此<code>Subject</code>相关<code>Set</code>的公共凭证的Set,它们是指定的Class的实例或子<code>类</code> 。</span>
|
||
<p> <span>返回的<code>Set</code>不受此Subject的内部公开证书<code>Set</code> 。</span> <span>新<code>Set</code>创建并返回每个方法调用。</span> <span>对返回的<code>Set</code>不会影响内部公众证书<code>Set</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<code>T</code> - 类别由
|
||
<code>c</code>建模
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>c</code> - 返回的
|
||
<code>Set</code>的公用凭证都将是此类的实例。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>Set</code>的公共凭据是指定的Class的
|
||
<code>类</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果指定的
|
||
<code>类</code>是
|
||
<code>null</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getPrivateCredentials-java.lang.Class-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getPrivateCredentials</h4> <pre>public <T> <a href="../../../java/util/Set.html" title="interface in java.util">Set</a><T> getPrivateCredentials(<a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> c)</pre>
|
||
<div class="block">
|
||
<span>返回与此<code>Subject</code>相关<code>Set</code>的私有凭据的Set,它们是指定的Class的实例或子<code>类</code> 。</span>
|
||
<p> <span>来电者必须具有访问所有请求的凭证的权限,否则将抛出<code>SecurityException</code> 。</span> </p>
|
||
<p> <span>返回的<code>Set</code>不受此Subject的内部私人凭证<code>Set</code> 。</span> <span>新<code>Set</code>创建并返回每个方法调用。</span> <span>返回的<code>Set</code>不会影响内部私人凭据<code>Set</code> 。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<code>T</code> - 类别由
|
||
<code>c</code>建模
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>c</code> -返回
|
||
<code>Set</code>私有证书都将此类的实例。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>Set</code>的私有凭据是指定的Class的
|
||
<code>类</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果指定的
|
||
<code>类</code>是
|
||
<code>null</code> 。
|
||
</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> o)</pre>
|
||
<div class="block">
|
||
<span>将指定的对象与此<code>Subject</code>进行比较以获得相等性。</span>
|
||
<span>如果给定对象也是主题,并且两个<code>Subject</code>实例是等效的,则返回true。</span>
|
||
<span>更正式地,如果<code>Principal</code>和<code>Credential</code>组相等,则两个<code>Subject</code>实例是相等的。</span>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a></code>在类
|
||
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>o</code> - 与此
|
||
<code>Subject</code>进行平等比较的对象。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
如果指定的对象等于此
|
||
<code>Subject</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果呼叫者没有权限访问此
|
||
<code>Subject</code>的私人凭据,或者主叫方没有权限访问提供的
|
||
<code>Subject</code>的私人
|
||
<code>Subject</code> 。
|
||
</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="toString--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>toString</h4> <pre>public <a href="../../../java/lang/String.html" title="class in java.lang">String</a> toString()</pre>
|
||
<div class="block">
|
||
返回此
|
||
<code>Subject</code>的String
|
||
<code>Subject</code> 。
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/Object.html#toString--">toString</a></code>在类别
|
||
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
这个
|
||
<code>Subject</code>的String
|
||
<code>Subject</code> 。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="hashCode--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>hashCode</h4> <pre>public int hashCode()</pre>
|
||
<div class="block">
|
||
返回此
|
||
<code>Subject</code>的哈希码。
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/Object.html#hashCode--">hashCode</a></code>在类别
|
||
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
这个
|
||
<code>Subject</code>的哈希码。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果来电者没有权限访问此主题的私人凭据。
|
||
</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> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |