- 所有已实现的接口:
Serializable,Principal
- 自从:
- 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(String name) 从提供的字符串输入构造一个KerberosPrincipal。KerberosPrincipal(String name, int nameType) 根据提供的字符串和名称类型输入构造一个KerberosPrincipal。 -
方法总结
-
字段详细信息
-
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
从提供的字符串输入构造一个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
根据提供的字符串和名称类型输入构造一个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
返回此 Kerberos 主体的字段组件。- 返回:
- 此 Kerberos 主体的字段组件。
-
hashCode
public int hashCode()返回此KerberosPrincipal的哈希码。哈希码定义为以下计算的结果:hashCode = getName().hashCode(); -
equals
比较指定对象与此主体是否相等。如果给定对象也是KerberosPrincipal并且两个KerberosPrincipal实例是等价的,则返回 true。更正式地说,如果getName()返回的值相等,则两个KerberosPrincipal实例相等。 -
getName
返回的字符串对应于 RFC 1964 的第 2.1 节中指定的 Kerberos 委托人名称的单字符串表示形式。 -
getNameType
public int getNameType()返回KerberosPrincipal的名称类型。 RFC4120 的第 6.2 节中指定了有效的名称类型。- 返回:
- 名称类型。
-
toString
返回此KerberosPrincipal的信息文本表示。
-