JavaTM 2 Platform
Standard Ed. 6

javax.security.auth
類別 PrivateCredentialPermission

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

public final class PrivateCredentialPermission
extends Permission

此類別用來保護對屬於特定 Subject 的私有 Credential 的存取。Subject 通過 Principals Set 表示。

Permission 的目標名稱指定了一個 Credential 類別名和一個 Principals Set。此 Permission 的操作的唯一有效值是 "read"。目標名稱必須遵守下面的語法:

        CredentialClass {PrincipalClass "PrincipalName"}*
 
例如,下面的權限授予對 Subjects 擁有的 com.sun.PrivateCredential 的存取,該 Subjects 有一個 com.sun.Principal,名稱為 "duke"。注意,儘管此例子(以及下面的所有例子)在 grant 語句中不包含 Codebase、SignedBy 或 Principal 資訊(為了使例子簡單),但是實際的策略配置在適當的時候應該指定該資訊。

    grant {
        permission javax.security.auth.PrivateCredentialPermission
                "com.sun.PrivateCredential com.sun.Principal \"duke\"",
                "read";
    };
 
如果 CredentialClass 為 "*",那麼授予屬於指定的 Subject 的所有 Credential 存取權限。如果 "PrincipalName" 為 "*",那麼授予指定的由任何 Subject 擁有的 Credential 存取權限,此 Subject 具有指定的 Principal (實際的 PrincipalName 無關緊要)。例如,下面的語句授予對任何有 a.b.Principal 的 Subject 所擁有的 a.b.Credential 存取權限。
    grant {
        permission javax.security.auth.PrivateCredentialPermission
                "a.b.Credential a.b.Principal "*"",
                "read";
    };
 
如果 PrincipalClass 和 "PrincipalName" 都為 "*",那麼授予由任何 Subject 擁有的指定的 Credential 存取權限。

另外,PrincipalClass/PrincipalName 對可以重複:

    grant {
        permission javax.security.auth.PrivateCredentialPermission
                "a.b.Credential a.b.Principal "duke" c.d.Principal "dukette"",
                "read";
    };
 
上面的語句授予對私有 Credential("a.b.Credential")的存取權限,"a.b.Credential" 屬於帶有至少兩個 Principals 的 Subject:名稱為 "duke" 的 "a.b.Principal",和名稱為 "dukette" 的 "c.d.Principal"。

另請參見:
序列化表格

建構子摘要
PrivateCredentialPermission(String name, String actions)
          創建具有指定 name 的新 PrivateCredentialPermission
 
方法摘要
 boolean equals(Object obj)
          檢查兩個 PrivateCredentialPermission 物件是否相等。
 String getActions()
          返回操作的“規範的字元串表示形式”。
 String getCredentialClass()
          返回與此 PrivateCredentialPermission 相關聯的 Credential 的 Class 名稱。
 String[][] getPrincipals()
          返回與此 PrivateCredentialPermission 相關聯的 Principal 類別和名稱。
 int hashCode()
          返回此物件的雜湊碼值。
 boolean implies(Permission p)
          檢查此 PrivateCredentialPermission 是否暗含指定的Permission
 PermissionCollection newPermissionCollection()
          返回 PermissionCollection 中同類別的 PrivateCredentialPermissions 集合。
 
從類別 java.security.Permission 繼承的方法
checkGuard, getName, toString
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

PrivateCredentialPermission

public PrivateCredentialPermission(String name,
                                   String actions)
創建具有指定 name 的新 PrivateCredentialPermissionname 指定了一個 Credential 類別和一個 Principal 集合。

參數:
name - 指定 Credential 類別和 Principal 集合的名稱。

actions - 指定 Credential 能夠被讀取的操作。
拋出:
IllegalArgumentException - 如果 name 沒有遵循正確的語法或者如果 actions 不是 "read"。
方法詳細資訊

getCredentialClass

public String getCredentialClass()
返回與此 PrivateCredentialPermission 相關聯的 Credential 的 Class 名稱。

返回:
與此 PrivateCredentialPermission 相關聯的 Credential 的 Class 名稱。

getPrincipals

public String[][] getPrincipals()
返回與此 PrivateCredentialPermission 相關聯的 Principal 類別和名稱。資訊以二維陣列 (array[x][y]) 的形式返回。'x' 值對應於 Principal 的類別和名稱對的數目。當 (y==0) 時,它對應於 Principal 類別值,當 (y==1) 時,它對應於 Principal 名稱值。例如,array[0][0] 對應於陣列中的第一個 Principal 的類別名。array[0][1] 對應於陣列中的第一個 PrincipalPrincipal 名。

返回:
與此 PrivateCredentialPermission 相關聯的 Principal 類別和名稱。

implies

public boolean implies(Permission p)
檢查此 PrivateCredentialPermission 是否暗含指定的Permission

如果滿足下面的條件,則此方法返回 true:

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

equals

public boolean equals(Object obj)
檢查兩個 PrivateCredentialPermission 物件是否相等。檢查 obj 是否為 PrivateCredentialPermission,是否與此物件具有相同的證書類別以及相同的 Principals。在各自的 Permission 的目標名稱中的 Principals 的順序是無關的。

指定者:
類別 Permission 中的 equals
參數:
obj - 要與此物件進行相等性測試的物件。
返回:
如果 obj 為 PrivateCredentialPermission,與此物件具有相同的證書類別以及相同的 Principals,則返回 true。
另請參見:
Object.hashCode(), Hashtable

hashCode

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

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

getActions

public String getActions()
返回操作的“規範的字元串表示形式”。此方法總是返回 String "read"。

指定者:
類別 Permission 中的 getActions
返回:
操作(總是返回 "read")。

newPermissionCollection

public PermissionCollection newPermissionCollection()
返回 PermissionCollection 中同類別的 PrivateCredentialPermissions 集合。沒有定義這種 PermissionCollection,所以此方法總是返回 null

覆寫:
類別 Permission 中的 newPermissionCollection
返回:
所有情況下都返回 null。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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