JavaTM 2 Platform
Standard Ed. 6

javax.security.auth.kerberos
類別 ServicePermission

java.lang.Object
  繼承者 java.security.Permission
      繼承者 javax.security.auth.kerberos.ServicePermission
所有已實作的介面:
Serializable, Guard

public final class ServicePermission
extends Permission
implements Serializable

此類別用於保護 Kerberos 服務和存取這些服務所必需的證書。服務主體與存取該服務所必需的證書之間存在一對一的映射關係。因此授予存取服務主體的權限隱含了授予存取使用該服務主體建立安全上下文所必需的證書的權限。不管證書是在快取記憶體中還是通過與 KDC 交換獲得的,這一規則都適用。證書可以是票據授權票據、服務票據或密鑰表中的密鑰。

ServicePermission 套件含服務主體名稱和指定可在其中使用證書的上下文的動作列表。

服務主體名稱是提供服務的 KereberosPrincipal 的規範名稱,也就是說 KerberosPrincipal 表示 Kerberos 服務主體。此名稱是以區分大小寫的方式處理的。星號可以單獨出現,表示任何服務主體。

授予此權限暗示著調用者可以使用該動作指定的上下文中快取記憶體的證書(TGT、服務票據或秘密密鑰)。在證書為 TGT 的情況下,授予此權限還暗示著 TGT 可以通過 Authentication Service 交換獲得。

可能的動作為:

initiate -  允許調用者使用證書來啟動帶有服務主體的安全上下文。

accept -  允許調用者使用證書來接受作為特定主體的安全上下文。

例如,指定存取 TGT 的權限來啟動安全上下文,權限的建構如下:

     ServicePermission("krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate");
 

為獲取服務票據來啟動帶有 "host" 服務的上下文,權限的建構如下:

     ServicePermission("host/foo.example.com@EXAMPLE.COM", "initiate");
 

對於 Kerberized 伺服器,該動作為 "accept"。例如,存取和使用 Kerberized“主機”服務(telnet 以及類似服務)的秘密密鑰的權限將被建構如下:

     ServicePermission("host/foo.example.com@EXAMPLE.COM", "accept");
 

從以下版本開始:
1.4
另請參見:
序列化表格

建構子摘要
ServicePermission(String servicePrincipal, String action)
          創建帶指定的 servicePrincipalaction 的新 ServicePermission
 
方法摘要
 boolean equals(Object obj)
          檢查兩個 ServicePermission 物件是否相等。
 String getActions()
          返回動作的規範化字元串表示形式。
 int hashCode()
          返回此物件的雜湊碼值。
 boolean implies(Permission p)
          檢查此 Kerberos 服務權限物件是否“隱含”指定的權限。
 PermissionCollection newPermissionCollection()
          返回用於存儲 ServicePermission 物件的 PermissionCollection 物件。
 
從類別 java.security.Permission 繼承的方法
checkGuard, getName, toString
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

ServicePermission

public ServicePermission(String servicePrincipal,
                         String action)
創建帶指定的 servicePrincipalaction 的新 ServicePermission

參數:
servicePrincipal - 服務主體的名稱。星號可以單獨出現,表示任何服務主體。

actions - 動作字元串。
方法詳細資訊

implies

public boolean implies(Permission p)
檢查此 Kerberos 服務權限物件是否“隱含”指定的權限。

如果上述條件都不為 true,則 implies 返回 false。

指定者:
類別 Permission 中的 implies
參數:
p - 所要檢查的權限。
返回:
如果此物件隱含指定的權限,則返回 true;否則返回 false。

equals

public boolean equals(Object obj)
檢查兩個 ServicePermission 物件是否相等。

指定者:
類別 Permission 中的 equals
參數:
obj - 要與此物件進行相等性測試的物件。
返回:
如果 obj 是一個 ServicePermission,並且與此 ServicePermission 物件具有相同的服務主體和動作,則返回 true。
另請參見:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回此物件的雜湊碼值。

指定者:
類別 Permission 中的 hashCode
返回:
此物件的雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

getActions

public String getActions()
返回動作的規範化字元串表示形式。始終按以下順序返回存在的動作:initiate 和 accept。

指定者:
類別 Permission 中的 getActions
返回:
此 Permission 的操作。

newPermissionCollection

public PermissionCollection newPermissionCollection()
返回用於存儲 ServicePermission 物件的 PermissionCollection 物件。
ServicePermission 物件必須以允許將它們按任意順序插入集合的方式來存儲,但同時也允許以有效(並一致)的方式實作 PermissionCollection 的 implies 方法。

覆寫:
類別 Permission 中的 newPermissionCollection
返回:
適合用來存儲 ServicePermissions 的新的 PermissionCollection 物件。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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