- java.lang.Object
-
- javax.security.auth.kerberos.KerberosPrincipal
-
- 实现的所有接口
-
Serializable
,Principal
public final class KerberosPrincipal extends Object implements Principal, Serializable
此类封装了Kerberos主体。- 从以下版本开始:
- 1.4
- 另请参见:
- Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 static int
KRB_NT_PRINCIPAL
用户主体名称类型。static int
KRB_NT_SRV_HST
使用主机名作为实例(telnet,rcommands)名称类型的服务。static int
KRB_NT_SRV_INST
服务和其他唯一实例(krbtgt)名称类型。static int
KRB_NT_SRV_XHST
使用主机作为剩余组件名称类型的服务。static int
KRB_NT_UID
唯一ID名称类型。static int
KRB_NT_UNKNOWN
未知的名称类型。
-
构造方法摘要
构造方法 构造器 描述 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名称类型。- 另请参见:
- 常数字段值
-
-
构造方法详细信息
-
KerberosPrincipal
public KerberosPrincipal(String name)
根据提供的字符串输入构造KerberosPrincipal
。 此主体的名称类型默认为KRB_NT_PRINCIPAL
假定此字符串包含第2.1.1节中指定格式的名称。 (Kerberos主要名称表格) RFC 1964 (例如, duke @ FOO.COM ,其中公爵代表委托人,而FOO.COM代表领域)。如果输入名称不包含领域,则使用默认领域。 可以在Kerberos配置文件中或通过java.security.krb5.realm系统属性指定默认域。 有关更多信息,请参阅Kerberos Requirements 。 此外,如果安装了安全管理器, 则必须授予
ServicePermission
,并且该权限的服务主体必须至少在KerberosPrincipal
的范围内。 例如,如果结果new KerberosPrincipal("user")
是[email protected]
,则ServicePermission
与服务主体host/[email protected]
(和任何动作)必须被授予。- 参数
-
name
- 主要名称 - 异常
-
IllegalArgumentException
- 如果name格式不正确,如果name为null,或者name不包含要使用的域,并且未在Kerberos配置文件中或通过java.security.krb5.realm系统属性指定默认域。 -
SecurityException
- 如果安装了安全管理器且name
不包含要使用的域,则不会授予如上所述的正确ServicePermission
。
-
KerberosPrincipal
public KerberosPrincipal(String name, int nameType)
根据提供的字符串和名称类型输入构造一个KerberosPrincipal
。 假定该字符串包含的格式为RFC 1964的第2.1节(强制名称格式)中指定的格式。 有效的名称类型在第508节(主要名称) RFC 4120中指定 。 输入名称必须与提供的名称类型一致。 (例如, [email protected] ,是名称类型的有效输入字符串,KRB_NT_PRINCIPAL,其中duke代表主体,而FOO.COM代表领域)。如果输入名称不包含领域,则使用默认领域。 可以在Kerberos配置文件中或通过java.security.krb5.realm系统属性指定默认域。 有关更多信息,请参阅Kerberos Requirements 。 此外,如果安装了安全管理器, 则必须授予
ServicePermission
,并且该权限的服务主体必须至少在KerberosPrincipal
的范围内。 例如,如果结果new KerberosPrincipal("user")
是[email protected]
,则ServicePermission
与服务主体host/[email protected]
(和任何动作)必须被授予。- 参数
-
name
- 主要名称 -
nameType
- 主体的名称类型 - 异常
-
IllegalArgumentException
- 如果name格式不正确,如果name为null,如果不支持nameType,或者name不包含要使用的域,并且未在Kerberos配置文件中或通过java.security指定默认域。 krb5.realm系统属性。 -
SecurityException
- 如果安装了安全管理器且name
不包含要使用的域,则不会授予如上所述的正确ServicePermission
。
-
-
方法详细信息
-
getRealm
public String getRealm()
返回此Kerberos主体的领域组件。- 结果
- 此Kerberos主体的领域组件。
-
hashCode
public int hashCode()
返回此KerberosPrincipal
的哈希码。 哈希码被定义为以下计算的结果:hashCode = getName().hashCode();
- Specified by:
-
hashCode
在界面Principal
- 重写:
-
hashCode
在类Object
- 结果
-
此
KerberosPrincipal
的哈希码。 - 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object other)
将指定对象与此主体进行比较以获得相等性。 如果给定对象也是KerberosPrincipal
并且两个KerberosPrincipal
实例是等效的,则返回true。 更正式地KerberosPrincipal
如果getName()
返回的值相等,则两个KerberosPrincipal
实例相等。
-
getNameType
public int getNameType()
返回KerberosPrincipal
的名称类型。 有效的名称类型在第RFC4120节中指定。- 结果
- 名称类型。
-
-