Class DelegationPermission

java.lang.Object
java.security.Permission
java.security.BasicPermission
javax.security.auth.kerberos.DelegationPermission
所有已实现的接口:
Serializable, Guard

public final class DelegationPermission extends BasicPermission implements Serializable
此类用于限制Kerberos委托模型的使用,即:可转发和可代理票证。

Permission的目标名称指定了一对Kerberos服务主体。第一个是被委托使用TGT的从属服务主体。第二个服务主体指定了从属服务主体代表发起KerberosPrincipal与之交互的目标服务。后者的服务主体被指定以限制可代理票证的使用。

例如,要指定"host"服务使用可转发的TGT,目标权限如下所示:

  DelegationPermission("\"host/foo.example.com@EXAMPLE.COM\" \"krbtgt/EXAMPLE.COM@EXAMPLE.COM\"");
 

要为"backup"服务提供可代理的nfs服务票证,目标权限可能被指定为:

  DelegationPermission("\"backup/bar.example.com@EXAMPLE.COM\" \"nfs/home.EXAMPLE.COM@EXAMPLE.COM\"");
 
自从:
1.4
参见:
  • Constructor Details

    • DelegationPermission

      public DelegationPermission(String principals)
      使用指定的从属和目标主体创建一个新的DelegationPermission
      参数:
      principals - 从属和目标主体的名称
      抛出:
      NullPointerException - 如果principalsnull
      IllegalArgumentException - 如果principals为空,或不包含一对主体,或引号使用不正确
    • DelegationPermission

      public DelegationPermission(String principals, String actions)
      使用指定的从属和目标主体创建一个新的DelegationPermission
      参数:
      principals - 从属和目标主体的名称
      actions - 应为null。
      抛出:
      NullPointerException - 如果principalsnull
      IllegalArgumentException - 如果principals为空,或不包含一对主体,或引号使用不正确
  • Method Details

    • implies

      public boolean implies(Permission p)
      检查此Kerberos委托权限对象是否"包含"指定的权限。

      如果此DelegationPermission等于p,则此方法返回true,否则返回false。

      覆盖:
      implies 在类中 BasicPermission
      参数:
      p - 要检查的权限。
      返回:
      如果指定的权限被此对象包含,则返回true,否则返回false。
    • equals

      public boolean equals(Object obj)
      检查两个DelegationPermission对象是否相等。
      覆盖:
      equals 在类中 BasicPermission
      参数:
      obj - 要与此对象进行相等性测试的对象。
      返回:
      如果obj是一个DelegationPermission,并且具有与此DelegationPermission对象相同的从属和服务主体,则返回true。
      参见:
    • hashCode

      public int hashCode()
      返回此对象的哈希码值。
      覆盖:
      hashCode 在类中 BasicPermission
      返回:
      此对象的哈希码值。
      参见:
    • newPermissionCollection

      public PermissionCollection newPermissionCollection()
      返回一个PermissionCollection对象,用于存储DelegationPermission对象。
      DelegationPermission对象必须以一种允许它们以任何顺序插入到集合中的方式存储,但也要使PermissionCollection implies方法能够以有效(和一致)的方式实现。
      覆盖:
      newPermissionCollection 在类中 BasicPermission
      返回:
      一个适用于存储DelegationPermissions的新PermissionCollection对象。