类 KerberosPrincipal

java.lang.Object
javax.security.auth.kerberos.KerberosPrincipal
所有已实现的接口:
Serializable , Principal

public final class KerberosPrincipal extends Object implements Principal , Serializable
此类封装了 Kerberos 主体。
自从:
1.4
参见:
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    static final int
    企业名称(别名)
    static final int
    用户主体名称类型。
    static final int
    以主机名作为实例(telnet、rcommands)名称类型的服务。
    static final int
    服务和其他唯一实例 (krbtgt) 名称类型。
    static final int
    以主机作为剩余组件名称类型的服务。
    static final int
    唯一 ID 名称类型。
    static final int
    未知名称类型。
  • 构造方法总结

    构造方法
    构造方法
    描述
    从提供的字符串输入构造一个 KerberosPrincipal
    KerberosPrincipal(String name, int nameType)
    根据提供的字符串和名称类型输入构造一个 KerberosPrincipal
  • 方法总结

    修饰符和类型
    方法
    描述
    boolean
    equals(Object other)
    比较指定对象与此主体是否相等。
    返回的字符串对应于 RFC 1964 的第 2.1 节中指定的 Kerberos 委托人名称的单字符串表示形式。
    int
    返回 KerberosPrincipal 的名称类型。
    返回此 Kerberos 主体的字段组件。
    int
    返回此 KerberosPrincipal 的哈希码。
    返回此 KerberosPrincipal 的信息文本表示。

    在类 java.lang.Object 中声明的方法

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    在接口 java.security.Principal 中声明的方法

    implies
  • 字段详细信息

    • KRB_NT_UNKNOWN

      public static final int KRB_NT_UNKNOWN
      未知名称类型。
      参见:
    • KRB_NT_PRINCIPAL

      public static final int KRB_NT_PRINCIPAL
      用户主体名称类型。
      参见:
    • KRB_NT_SRV_INST

      public static final int KRB_NT_SRV_INST
      服务和其他唯一实例 (krbtgt) 名称类型。
      参见:
    • KRB_NT_SRV_HST

      public static final int KRB_NT_SRV_HST
      以主机名作为实例(telnet、rcommands)名称类型的服务。
      参见:
    • KRB_NT_SRV_XHST

      public static final int KRB_NT_SRV_XHST
      以主机作为剩余组件名称类型的服务。
      参见:
    • KRB_NT_UID

      public static final int KRB_NT_UID
      唯一 ID 名称类型。
      参见:
    • KRB_NT_ENTERPRISE

      public static final int KRB_NT_ENTERPRISE
      企业名称(别名)
      自从:
      13
      参见:
  • 构造方法详细信息

    • KerberosPrincipal

      public KerberosPrincipal(String  name)
      从提供的字符串输入构造一个 KerberosPrincipal。此主体的名称类型默认为 KRB_NT_PRINCIPAL 此字符串假定包含第 2.1.1 节中指定格式的名称。 RFC 1964 (例如,公爵@FOO.COM, 在哪里公爵代表委托人,并且FOO.COM代表一个境界)。

      如果输入名称不包含领域,则使用默认领域。可以在 Kerberos 配置文件中或通过 java.security.krb5.realm 系统属性指定默认领域。有关详细信息,请参阅 Kerberos 要求

      请注意,当最初加载和初始化此类或任何其他与 Kerberos 相关的类时,它可能会从 Kerberos 配置文件或通过 java.security.krb5.realm 系统属性读取和缓存默认字段(如果没有指定默认字段),因此可以忽略通过设置 java.security.krb5.realm 系统属性来设置或更改默认字段的任何后续调用。

      此外,如果安装了安全管理器,则必须授予 ServicePermission 并且权限的服务主体必须至少在 KerberosPrincipal 的领域内。例如,如果 new KerberosPrincipal("user") 的结果是 user@EXAMPLE.COM,则必须授予具有服务主体 host/www.example.com@EXAMPLE.COM(以及任何操作)的 ServicePermission

      参数:
      name - 主体名称
      抛出:
      IllegalArgumentException - 如果名称格式不正确,如果名称为空,或者如果名称不包含要使用的领域并且默认领域未在 Kerberos 配置文件中或通过 java.security.krb5.realm 系统属性指定。
      SecurityException - 如果安装了安全管理器并且 name 不包含要使用的领域,并且不授予如上所述的适当的 ServicePermission
    • KerberosPrincipal

      public KerberosPrincipal(String  name, int nameType)
      根据提供的字符串和名称类型输入构造一个 KerberosPrincipal。假定该字符串包含一个名称,其格式在 RFC 1964 的第 2.1 节(强制名称格式)中指定。有效名称类型在 RFC 4120 的第 6.2 节(主要名称)中指定。输入的名称必须与提供的名称类型一致。 (例如,公爵@FOO.COM, 是名称类型 KRB_NT_PRINCIPAL 的有效输入字符串,其中公爵代表委托人,并且FOO.COM代表一个境界)。

      如果输入名称不包含领域,则使用默认领域。可以在 Kerberos 配置文件中或通过 java.security.krb5.realm 系统属性指定默认领域。有关详细信息,请参阅 Kerberos 要求

      请注意,当最初加载和初始化此类或任何其他与 Kerberos 相关的类时,它可能会从 Kerberos 配置文件或通过 java.security.krb5.realm 系统属性读取和缓存默认字段(如果没有指定默认字段),因此可以忽略通过设置 java.security.krb5.realm 系统属性来设置或更改默认字段的任何后续调用。

      此外,如果安装了安全管理器,则必须授予 ServicePermission 并且权限的服务主体必须至少在 KerberosPrincipal 的领域内。例如,如果 new KerberosPrincipal("user") 的结果是 user@EXAMPLE.COM,则必须授予具有服务主体 host/www.example.com@EXAMPLE.COM(以及任何操作)的 ServicePermission

      参数:
      name - 主体名称
      nameType - 主体的名称类型
      抛出:
      IllegalArgumentException - 如果名称格式不正确,如果名称为空,如果不支持名称类型,或者如果名称不包含要使用的领域并且默认领域未在 Kerberos 配置文件中或通过 java.security 指定。 krb5.realm 系统属性。
      SecurityException - 如果安装了安全管理器并且 name 不包含要使用的领域,并且不授予如上所述的适当的 ServicePermission
  • 方法详情

    • getRealm

      public String  getRealm()
      返回此 Kerberos 主体的字段组件。
      返回:
      此 Kerberos 主体的字段组件。
    • hashCode

      public int hashCode()
      返回此 KerberosPrincipal 的哈希码。哈希码定义为以下计算的结果:
      
       hashCode = getName().hashCode();
        
      指定者:
      hashCode 在接口 Principal
      重写:
      hashCode 在类 Object
      返回:
      这个 KerberosPrincipal 的哈希码。
      参见:
    • equals

      public boolean equals(Object  other)
      比较指定对象与此主体是否相等。如果给定对象也是 KerberosPrincipal 并且两个 KerberosPrincipal 实例是等价的,则返回 true。更正式地说,如果 getName() 返回的值相等,则两个 KerberosPrincipal 实例相等。
      指定者:
      equals 在接口 Principal
      重写:
      equals 在类 Object
      参数:
      other - 要比较的对象
      返回:
      如果传入的对象表示与此对象相同的主体,则为 true,否则为 false。
      参见:
    • getName

      public String  getName()
      返回的字符串对应于 RFC 1964 的第 2.1 节中指定的 Kerberos 委托人名称的单字符串表示形式。
      指定者:
      getName 在接口 Principal
      返回:
      principal 名称。
    • getNameType

      public int getNameType()
      返回 KerberosPrincipal 的名称类型。 RFC4120 的第 6.2 节中指定了有效的名称类型。
      返回:
      名称类型。
    • toString

      public String  toString()
      返回此 KerberosPrincipal 的信息文本表示。
      指定者:
      toString 在接口 Principal
      重写:
      toString 在类 Object
      返回:
      这个 KerberosPrincipal 的信息文本表示。